Enable selection of categories for team
This commit is contained in:
@@ -29,6 +29,7 @@ namespace EP\EpProducts\Controller;
|
||||
|
||||
use EP\EpProducts\Domain\Model\Teammember;
|
||||
use EP\EpProducts\Domain\Repository\TeammemberRepository;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class TeamController extends ActionController
|
||||
@@ -44,12 +45,18 @@ class TeamController extends ActionController
|
||||
public function __construct(TeammemberRepository $teammemberRepository)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->teammemberRepository = $teammemberRepository;
|
||||
}
|
||||
|
||||
public function listAction()
|
||||
{
|
||||
$members = $this->teammemberRepository->findAll();
|
||||
if (isset($this->settings['teamCategories']) && count($this->settings['teamCategories'])) {
|
||||
$members = $this->teammemberRepository->findByCategories(GeneralUtility::trimExplode(',', $this->settings['teamCategories'], true));
|
||||
} else {
|
||||
$members = $this->teammemberRepository->findAll();
|
||||
}
|
||||
|
||||
$this->view->assign('members', $members);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,4 +35,12 @@ class TeammemberRepository extends AbstractRepository
|
||||
protected $defaultOrderings = [
|
||||
'sorting' => 'ASC',
|
||||
];
|
||||
|
||||
public function findByCategories(array $categories = [])
|
||||
{
|
||||
$qb = $this->createQuery();
|
||||
$qb->matching($qb->in('categories', $categories));
|
||||
|
||||
return $qb->execute();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<T3DataStructure>
|
||||
<meta>
|
||||
<langDisable>1</langDisable>
|
||||
</meta>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Konfiguration</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.teamCategories>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Auf Kategorie beschränken</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectMultipleSideBySide</renderType>
|
||||
<enableMultiSelectFilterTextfield>1</enableMultiSelectFilterTextfield>
|
||||
<foreign_table>sys_category</foreign_table>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>99</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.teamCategories>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
||||
@@ -207,6 +207,10 @@ $pluginSignature = str_replace('_', '', $_EXTKEY) . '_snowreport_list';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_snowreport.xml');
|
||||
|
||||
$pluginSignature = str_replace('_', '', $_EXTKEY) . '_teammembers';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_teammembers.xml');
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
|
||||
'EP.' . $_EXTKEY,
|
||||
'web',
|
||||
|
||||
Reference in New Issue
Block a user