Contao CMS的PHP模板不起作用

时间:2015-06-29 11:58:19

标签: php contao

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

我更改了代码this

但我得到致命的PHP错误,我错过了什么?我现在正在进入PHP,但我不是那么远。

THX

1 个答案:

答案 0 :(得分:1)

你错过了一些引用:

echo "<br>======================  ".$arrItem[text][name]."<br>";

更改为:

echo "<br>======================  ".$arrItem['text']['name']."<br>";

以下是使用正确名称空间的代码:

// 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>";
    }
}