2013-03-08 5 views
2

Я использую расширение News System, «news», и, изменяя шаблоны, я заметил, что, хотя я могу использовать такие вещи, как {newsItem.datetime} или {newsItem.uid}, я не могу использовать это с помощью пользовательских полей я создал при расширении таблицы tx_news_domain_model_news, как {newsItem.mycustomfield}Расширение TYPO3 «новости»: пользовательские поля в шаблоне Fluid

Edit: Я указал на this url и я следовал инструкции, но он не работает. Это мой код

news.php

<?php 
    class Tx_WedoExtendnews_Domain_Model_News extends Tx_News_Domain_Model_News { 

     /** 
     * @var string 
     */ 
     protected $txWedoextendnewsLocation; 

     public function getTxWedoextendnewsLocation() { 
      return "this"; 
      return $this->txWedoextendnewsLocation; 
     } 
     public function getWedoextendnewsLocation() { 
      return "that"; 
      return $this->txWedoextendnewsLocation; 
     } 
    } 
?> 

Поскольку я ничего не получаю, я изменил возвращающиеся значения строковых литералов, чтобы увидеть, если проблема была в названиях классов и методов, или имущество. Я все еще ничего не получаю. Я думаю, что подчеркнутые могут играть трюки в моем коде.

Мой добавочный ключ wedo_extendnews, а новое поле - tx_wedoextendnews_location. Есть идеи, где ошибка?

ответ

1

Да. Чтобы иметь доступ к объекту в жидкости, вам нужны соответствующие сеттеры в вашей модели и, возможно, (сейчас не уверен) запись в TCA.

Если вы хотите получить доступ к {newsItem.mycustomfield} вам нужно по сеттер в модели, как public function getMycustomfield() (обратите внимание на get в get<Myfuncname>, он является обязательным).

+0

Спасибо за ответ. Не могли бы вы немного рассказать о том, где и как это сделать? Я действительно новичок в Fluid Templates, и я понятия не имею, как это сделать. Я уже создал запись в TCA. –

+0

и это изменяется, когда в поле есть символы подчеркивания? –

Смежные вопросы