Отметить используемые у товара опции
Добрый день.
Подскажите, как мне отметить используемые у товара опции.
Вот так получаю все возможные значения опции
Опции товара я получаю например так:
Заранее спасибо!
Подскажите, как мне отметить используемые у товара опции.
Вот так получаю все возможные значения опции
$options = $modx->getObject('msOption', [
'key' => $key
]);
$prop = $options->get('properties');
foreach ($prop as $k => $v) {
foreach ($v as $values) {
echo "<label><input type='checkbox' name='.$key.'> $values</label>
";
}
}
А как те опций, что есть у данного товара отметить checkbox?Опции товара я получаю например так:
$product = $modx->getObject('msProduct', $id);
$options = $product->loadData()->get('options');
$option_key = $options[$key];
Как при выводе первых данных отметить те значения опций, что есть во втором?Заранее спасибо!
Комментарии: 4
echo '<label><input '. isset($options[$k]) ? "checked" : "" .' type="checkbox" name='.$key.'> '.$values.'</label>';
такой код выводит только checkedcheckedchecked…
$options = $modx->getObject('msOption', [
'key' => $key
]);
$prop = $options->get('properties');
$product = $modx->getObject('msProduct', $id);
$options = $product->loadData()->get('options');
$option_key = $options[$key];
foreach ($prop as $k => $v) {
foreach ($v as $values) {
echo '<label><input '. isset($options[$k]) ? "checked" : "" .' type="checkbox" name='.$key.'> '.$values.'</label>';
}
}
Ну может я что-то напутал! Суть то должна быть ясна.
Берем массив со всеми опциями, пробегаемся по нему форычем и на каждой итерации проверяем наличие ключа в массиве с опциями у товара.
P.S. Могу сделать за вас!)))
Берем массив со всеми опциями, пробегаемся по нему форычем и на каждой итерации проверяем наличие ключа в массиве с опциями у товара.
P.S. Могу сделать за вас!)))
Да, это я понимаю. но у меня почему-то он выбирает весь массив опций и все чекает… А мне нужно прочекать только то, что есть в массиве $option_key, выведя при этом массив $prop. Помогите пожалуйста.
Вот код:
Вот код:
<?php
$key = 'uslugi';
$id = 3;
$options = $modx->getObject('msOption', [
'key' => $key
]);
$prop = $options->get('properties');
$product = $modx->getObject('msProduct', $id);
$options = $product->loadData()->get('options');
$option_key = $options[$key];
foreach ($prop as $k => $v) {
foreach ($v as $values) {
print "<label><input";
if (isset($prop[$k])) {
print " checked ";
}
print "type='checkbox' name='$k'> $values</label>";
}
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.