sioweb/oxid-metadata-multi-select

本模块可以标记Metadata中的Select选项为“多重选择”。

安装数: 1,258

依赖项: 1

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

公开问题: 0

类型:oxidkernel-module

1.1.1 2020-07-13 09:32 UTC

This package is auto-updated.

Last update: 2024-09-13 18:34:37 UTC


README

模块选项支持例如选择框,但仅允许选择一个值。使用此模块,可以扩展选择框以包含multiplesizestyle属性。

选项

  • (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();
}