首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Contao CMS的PHP模板无法工作

Contao CMS的PHP模板无法工作
EN

Stack Overflow用户
提问于 2015-06-29 19:58:19
回答 1查看 202关注 0票数 1

我正在尝试用扩展Metamodels在Contao中为我的项目更改PHP脚本。This是应该工作的源脚本:

我像this一样修改了代码。

但是我得到了一个致命的PHP错误,我是不是错过了什么?我现在正在学习PHP,但还不是很远。

THX

EN

回答 1

Stack Overflow用户

发布于 2015-06-29 20:26:34

你在这里漏掉了一些引号:

代码语言:javascript
运行
复制
echo "<br>======================  ".$arrItem[text][name]."<br>";

更改为:

代码语言:javascript
运行
复制
echo "<br>======================  ".$arrItem['text']['name']."<br>";

下面是使用正确名称空间的代码应该是什么样子:

代码语言:javascript
运行
复制
// echo '<pre>' . $this->showTemplateVars() . '</pre>'; // Zeigt alle Werte aus dem MM an
// ### Tabelle mm_kalender auslesen ###
foreach ($this->data as $arrItem) {
    // ============================================
    // ### Detaildaten aus Fremdtabelle STANDORTE holen ###
    // http://de.contaowiki.org/MetaModels_Beispiel:_Referenced_items

    // Tabelle, in der die gesuchten Informationen stehen
    $objMetaModel = \MetaModels\Factory::byTableName('mm_loesungen');
    // Filterobjekt erzeugen
    $objFilter = $objMetaModel->getEmptyFilter();

    // Einen bestehenden Filter zuordnen
    // $objFilter = $objMetaModel->prepareFilter(10, array());  // 10 = Id des Filters

    // Hier werden in der MM mm_standorte alle Datensätze gesucht, die im Feld 'standort' den
    // Wert $arrItem['raw']['mitarbeiter']['standort'] haben
    $objFilter->addFilterRule(new \MetaModels\Filter\Rules\SearchAttribute($objMetaModel->getAttribute('partner'), $arrItem['raw']['name']['partner'], $objMetaModel->getAvailableLanguages()));

    // Array mit allen gefundenen Datensäten
    $objItems = $objMetaModel->findByFilter($objFilter);

    // ## KONTROLLE ##

    // Ausgabe der gefundenen Datensätze
    foreach ($objItems as $objItem) {
        echo "<br>======================  ".$arrItem['text']['name']."<br>";
        if (!empty($objItem)) {
            $arrName = $objItem->get('name');
            $arrBeschr = $objItem->get('beschreibung');
            $arrAlias = $objItem->get('alias');
        } else {
            $arrName = "???";
            $arrBeschr = "???";
            $arrAlias = "???";
        }
        echo "Name: ".$arrName['name']." | Beschreibung: ".$arrBeschr['beschreibung']." | Alias: ".$arrAlias['alias']."<br>";
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31115108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档