Вы не сможете без изменения некоторой кодовой базы.
По умолчанию метод tep_draw_pull_down_menu
разрешает только проверку строк.Нельзя ожидать, что будет передано более одного значения для проверки.
Отредактируйте метод tep_draw_pull_down_menu
, найденный в , включает / functions / html_output.php , посмотрев на эту строкуоколо 312 чистой установки):
if ($default == $values[$i]['id']) {
Измените его на следующее:
if ($default == $values[$i]['id'] || (is_array($default) && in_array($values[$i]['id'], $default))) {
Дополнительный бит добавляет проверку, чтобы проверить, была ли переданная переменная $default
массивоми, если это так, если текущее значение опции выбора там.Если да в обоих случаях, пометьте параметр как выбранный.
Вот пример его использования:
$cat_array[] = array("id" => 'marvelman', "text" => 'Kimota!');
$cat_array[] = array("id" => 'rorschach', "text" => 'hurm');
$cat_array[] = array("id" => 'cerebus', "text" => 'Something Fell');
$cat_array[] = array("id" => 'wolvie', "text" => 'Snikt!');
$cat_array[] = array("id" => 'spider-man', "text" => 'Thwip');
$arr = array('rorschach', 'wolvie', 'cerebus');
echo tep_draw_pull_down_menu("cat[$i][]", $cat_array, $arr, 'id="cat3" size="5" multiple');
Возможно, вы также не захотите передавать переменную $arr
в кавычкахесли вы явно не хотите передать строку $arr
в противоположность ее массиву значений.