【问题标题】:Drupal multiple variables in block content块内容中的Drupal多个变量
【发布时间】:2013-09-10 07:52:00
【问题描述】:

我正在尝试打印块内容中的多个变量,但 drupal 返回:

Parse error: syntax error, unexpected '$search_field' (T_VARIABLE) in C:\seu\xampp\htdocs\iptp\sites\all\modules\custom\lasearch\lasearch.module on line 70

这是我的代码:

/**
 * Implements hook_block_view
 * 
 * This creates a block which shows the search results
 * 
 * @param type $delta
 * @return type
 */
function lala_search_block_view($delta = '') {
    $block = array();

    switch ($delta) {
        case 'lala_SEARCH_RESULT':

            $block['content'] = array(
                '#markup' => _lala_search_search_page(),
            );
            return $block;
            break;
    }
    switch ($delta) {
        case 'lala_lanavigator':
        $search_field = module_invoke('search', 'block_view', 'search');
        $search_text = _lala_search_get_laavigator('prefix');
            $block['title'] = t('la-Navigator');
            $block['content'] = $search_text $search_field['content'];
            return $block;
            break;
    }
}

我是 PHP 新手,我很确定问题取决于我的语法:-/

【问题讨论】:

    标签: php variables drupal block


    【解决方案1】:

    尝试以下方法:

    <?php
        $block['content']  = $search_text
        $block['content'] .= drupal_render($search_field['content']);
    ?>
    

    这样drupal会为你渲染数组。

    这里有更多信息:https://drupal.org/node/26502

    【讨论】:

    • 虽然可行,但我必须说这不是最佳实践。您应该在搜索模块中查看他们使用的 theme() 函数并使用它处理您的内容数组。这样,如果需要,您将能够在您的主题中对其进行预处理。但这可能会在您的 drupal 职业生涯的后期出现;)
    【解决方案2】:

    为:

    $block['content'] = $search_text $search_field['content'];

    也许你的意思是:

    $block['content'] = $search_text . $search_field['content'];

    【讨论】:

    • 当我尝试这个时,drupal 没有返回任何错误,但输出只是给了我 helloArray,hello 实际上是 search_text 变量的值
    • 那是因为第二个变量$search_field['content']是一个数组。我不熟悉那个钩子的返回,我会很快研究一下。但是您遇到的最初问题是,为了将两个变量分配给一个变量,您必须指定某种运算符或通过函数运行它们。
    • 哦,是的,drupal_render($search_field['content']) 与其他答案一样。他将串联分解为两个语句。在我的一行中,它将是$block['content'] = $search_text . drupal_render($search_field['content']);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多