From 21f93f3c2ed9a17f545048d239f94bb7b8680552 Mon Sep 17 00:00:00 2001 From: fritzmg Date: Tue, 10 Oct 2017 18:48:05 +0200 Subject: [PATCH] added disableEmpty --- src/Models/NewsRelatedModel.php | 13 ++++++++----- src/Resources/contao/dca/tl_module.php | 11 ++++++++++- src/Resources/contao/languages/de/tl_module.php | 1 + src/Resources/contao/languages/en/tl_module.php | 1 + 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/Models/NewsRelatedModel.php b/src/Models/NewsRelatedModel.php index f5752ab..eed351c 100644 --- a/src/Models/NewsRelatedModel.php +++ b/src/Models/NewsRelatedModel.php @@ -57,6 +57,9 @@ public function newsListFetchItems($newsArchives, $blnFeatured, $limit, $offset, return null; } + // define the return value for no item + $retNoItem = $objModule->disableEmpty ? false : null; + // get the table and prepare columns, values and options $t = \NewsModel::getTable(); $arrColumns = array("$t.pid IN(" . implode(',', array_map('intval', $newsArchives)) . ")"); @@ -69,7 +72,7 @@ public function newsListFetchItems($newsArchives, $blnFeatured, $limit, $offset, // check if there is an active tem if (!$item) { - return null; + return $retNoItem; } // get the news @@ -78,7 +81,7 @@ public function newsListFetchItems($newsArchives, $blnFeatured, $limit, $offset, // check if news was found if (!$objNews) { - return null; + return $retNoItem; } // Get the related news @@ -87,7 +90,7 @@ public function newsListFetchItems($newsArchives, $blnFeatured, $limit, $offset, // Check if any related news are defined if (!$arrRelated) { - return null; + return $retNoItem; } // add related news @@ -151,7 +154,7 @@ public function newsListFetchItems($newsArchives, $blnFeatured, $limit, $offset, unset($GLOBALS['NEWS_FILTER_CATEGORIES'], $GLOBALS['NEWS_FILTER_DEFAULT'], $GLOBALS['NEWS_FILTER_PRESERVE']); } - // Return result - return self::findBy($arrColumns, $arrValues, $arrOptions); + // get the result + return self::findBy($arrColumns, $arrValues, $arrOptions) ?: $retNoItem; } } \ No newline at end of file diff --git a/src/Resources/contao/dca/tl_module.php b/src/Resources/contao/dca/tl_module.php index b24c030..cdb9146 100644 --- a/src/Resources/contao/dca/tl_module.php +++ b/src/Resources/contao/dca/tl_module.php @@ -10,7 +10,7 @@ */ -$GLOBALS['TL_DCA']['tl_module']['palettes']['newslist'] = str_replace(',skipFirst', ',skipFirst,relatedOnly', $GLOBALS['TL_DCA']['tl_module']['palettes']['newslist']); +$GLOBALS['TL_DCA']['tl_module']['palettes']['newslist'] = str_replace(',skipFirst', ',skipFirst,relatedOnly,disableEmpty', $GLOBALS['TL_DCA']['tl_module']['palettes']['newslist']); $GLOBALS['TL_DCA']['tl_module']['fields']['relatedOnly'] = array ( @@ -20,3 +20,12 @@ 'eval' => array('tl_class'=>'clr w50'), 'sql' => "char(1) NOT NULL default ''" ); + +$GLOBALS['TL_DCA']['tl_module']['fields']['disableEmpty'] = array +( + 'label' => &$GLOBALS['TL_LANG']['tl_module']['disableEmpty'], + 'exclude' => true, + 'inputType' => 'checkbox', + 'eval' => array('tl_class'=>'w50'), + 'sql' => "char(1) NOT NULL default ''" +); diff --git a/src/Resources/contao/languages/de/tl_module.php b/src/Resources/contao/languages/de/tl_module.php index 8271db9..a297036 100644 --- a/src/Resources/contao/languages/de/tl_module.php +++ b/src/Resources/contao/languages/de/tl_module.php @@ -11,3 +11,4 @@ $GLOBALS['TL_LANG']['tl_module']['relatedOnly'] = array('Nur verwandte Einträge anzeigen','Beschränkt die Ausgabe auf verwandte Artikel.'); +$GLOBALS['TL_LANG']['tl_module']['disableEmpty'] = array('Keine leere Ausgabe','Zeigt alle Nachrichtenartikel an, wenn keine verwandten Artikel gefunden wurden.'); diff --git a/src/Resources/contao/languages/en/tl_module.php b/src/Resources/contao/languages/en/tl_module.php index e1a65bc..26fe282 100644 --- a/src/Resources/contao/languages/en/tl_module.php +++ b/src/Resources/contao/languages/en/tl_module.php @@ -11,3 +11,4 @@ $GLOBALS['TL_LANG']['tl_module']['relatedOnly'] = array('Show only related entries','Limits the output to related entries.'); +$GLOBALS['TL_LANG']['tl_module']['disableEmpty'] = array('Disable empty output','Shows all news entries, if no related entries have been found.');