sioweb / oxid-metadata-multi-select
本模块可以标记Metadata中的Select选项为“多重选择”。
1.1.1
2020-07-13 09:32 UTC
Requires
- php: ^7.0
- oxid-community/symfony-kernel: *
- sioweb/ccevent-git: *
README
模块选项支持例如选择框,但仅允许选择一个值。使用此模块,可以扩展选择框以包含multiple
、size
和style
属性。
选项
- (bool)
multiple
将选择标记为multiple=>"true"
- (int)
size
默认设置为8。 - (string)
style
将作为内联CSS属性插入
示例
$aModule = [ 'settings' => [ ['group' => 'some_group_name', 'name' => 'aFieldName', 'type' => 'select', 'multiple' => true, 'style' => 'width:400px;', 'constraints' => '1|2|3', 'value' => ''] ] ];
示例 - 选择所有控制器
例如,一个模块可能仅限于某些控制器。这些可以通过以下方式读取并作为参数添加
metadata.php
/** * Metadata version */ $sMetadataVersion = '2.0'; $sQ = "SELECT oxstdurl, oxobjectid, oxseourl FROM oxseo WHERE oxtype='static' && oxlang = ? && oxshopid = ? GROUP BY oxobjectid ORDER BY oxstdurl"; $oStaticUrlList = oxNew(\OxidEsales\Eshop\Core\Model\ListModel::class); $oStaticUrlList->init('oxbase', 'oxseo'); $oStaticUrlList->selectString($sQ, [0, 1]); $aModule = [ // ... 'settings' => [ ['group' => 'some_group_name', 'name' => 'aFieldName', 'type' => 'select', 'multiple' => true, 'value' => '', 'style' => 'width:400px;', 'constraints' => implode('|', array_keys($oStaticUrlList->aList))] ] ];
admin/de/module_options.php
$sLangName = "Deutsch"; $aLang = array( 'charset' => 'UTF-8', 'SHOP_MODULE_aFieldName' => 'Multi-Select-Feld', ); $sQ = "SELECT oxstdurl, oxobjectid, oxseourl FROM oxseo WHERE oxtype='static' && oxlang = ? && oxshopid = ? GROUP BY oxobjectid ORDER BY oxstdurl"; $oStaticUrlList = oxNew(\OxidEsales\Eshop\Core\Model\ListModel::class); $oStaticUrlList->init('oxbase', 'oxseo'); $oStaticUrlList->selectString($sQ, [0, 1]); foreach($oStaticUrlList as $key => $oItem) { $aLang['SHOP_MODULE_aFieldName_' . $key] = $oItem->oxseo__oxstdurl->getRawValue() . ' ' . $oItem->oxseo__oxseourl->getRawValue(); }