【发布时间】:2019-10-04 12:52:47
【问题描述】:
警告:count():参数必须是在 invTranslate_translated_menu_link_alter() 中实现 Countable 的数组或对象(来自 \sites\all\modules\custom\invTranslate\invTranslate.module 的第 55 行)。
invTranslate.module 是一个自定义模块。
function invTranslate_translated_menu_link_alter(&$item) {
static $nodeMenu;
if ($nodeMenu === NULL) {
if (arg(0) == 'node' && count(arg() == 3 && (arg(1) == 'add' || arg(2) == 'edit'))) {
$nodeMenu = true;
...
第 55 行是:
if (arg(0) == 'node' && count(arg() == 3 && (arg(1) == 'add' || arg(2) == 'edit'))) {。
请帮忙。
【问题讨论】:
-
arg() == 3 && (arg(1) == 'add' || arg(2) == 'edit')是一个逻辑表达式,它会导致真或假。对 true 或 false 使用 count 只会产生零意义。 -
您能告诉我如何将该代码更改为正确的代码吗?
-
@04FS 只是删除“计数”?所以结果是
if (arg(0) == 'node' && (arg() == 3 && (arg(1) == 'add' || arg(2) == 'edit'))) { -
这是最有可能的猜测,是的。 (猜猜看,因为我们还没有被告知这首先应该实现什么。)
-
取决于
arg()返回的内容,它可能是count(arg()) == 3