Hello,

I followed this example <https://t3brightside.com/blog/article/extending-extnews-with-a-fal-compilant-audio-and-customized-youtube-video/>

...to add some extra fields to tx_news, it even includes a sample extension.

In the backend, the added fields show up and I can add/edit values. However, when trying to show the values in Fluid with:
{newsItem.txNewscustomYoutube}
...no output is shown.

Is this an outdated approach? Any help?

Thanks in advance!
Bert

ext_tables.php:

<?php
if (!defined('TYPO3_MODE')) {
  die ('Access denied.');
}
$tempColumns = array(
  'tx_newscustom_youtube' => array(
    'exclude' => 0,
'label' => 'LLL:EXT:newscustom/locallang_db.xml:tx_news_domain_model_news.tx_newscustom_youtube',
    'config' => array(
      'type' => 'input',
      'size' => '30',
    )
  ),
);

t3lib_div::loadTCA('tx_news_domain_model_news');
t3lib_extMgm::addTCAcolumns('tx_news_domain_model_news',$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes('tx_news_domain_model_news','tx_newscustom_youtube;;;;1-1-1, tx_newscustom_soundcloud, tx_newscustom_audiofile');
?>


Classes/Domain/Model/News.php:


<?php
  class Tx_Newscustom_Domain_Model_News extends Tx_News_Domain_Model_News {
    /**
    * @var string
    */
    protected $txNewscustomSoundcloud;
    /**
    * @var string
    */
    protected $txNewscustomYoutube;
    /**
    * @var string
    */
    protected $txNewscustomAudiofile;
    /**
    * @var string
    */
    public function getTxNewscustomSoundcloud() {
      return $this->txNewscustomSoundcloud;
    }
    /**
    * @var string
    */
    public function getTxNewscustomYoutube() {
      return $this->txNewscustomYoutube;
    }
    /**
    * @var string
    */
    public function getTxNewscustomAudiofile() {
$fileRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\FileRepository'); $fileObjects = $fileRepository->findByRelation('tx_news_domain_model_news', 'file', $this->getUid()); $fileObject = (is_array($fileObjects)) ? array_shift($fileObjects) : $fileObjects; return (is_object($fileObject) && method_exists($fileObject, 'getPublicUrl') && $fileObject->getPublicUrl()) ? $fileObject->getPublicUrl() : '';
    }
  }
?>


Resources/Private/extend-news.txt:

Domain/Model/News


FLUID:
<!-- In news/Resources/Private/Partials/List/Item.html or news/Resources/Private/Templates/News/Detail.html -->
<f:if condition="{newsItem.txNewscustomAudiofile}">
  <audio controls>
    <source src="{newsItem.txNewscustomAudiofile}" type="audio/mpeg">
    Your browser does not support the audio element.
  </audio>
</f:if>

<!-- Or for a customized Youtube video -->
<f:if condition="{newsItem.txNewscustomYoutube}">
  <div class="videoCont">
<iframe src="http://www.youtube.com/embed/{newsItem.txNewscustomYoutube}?HD=1&theme=light&amp;color=white&amp;autohide=1&amp;showinfo=0&amp;rel=0"; width="922" height="524"></iframe>
  </div>
</f:if>

_______________________________________________
TYPO3-english mailing list
TYPO3-english@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english

Reply via email to