Anastasiya96

Постоялец
Регистрация
14 Мар 2018
Сообщения
137
Реакции
142
подскажите, пожалуйста как правильно сделать выбор подкатегорий? есть такой список:

категория-1
-подкатегория-1
-подкатегория-2
-подкатегория-3

категория-2
-подкатегория-1
-подкатегория-2
.......

ниже код выбирает любую, а нужно сделать так, чтобы пользователь не мог выбрать "категорию-1" или "категорию-2", а мог выбрать только любую подкатегорю этой категории. и соответственно, чтобы путь был не просто "-подкатегория-1" или "-подкатегория-2", а правильный:
категория-2 > -подкатегория-2
или
категория-1 > -подкатегория-3

т.е. пользователей выбирать должен только подкатегорию, а категория автоматом уже прописывается после его выбора
вот сам код:

<section id="form-data-h-0" style="display: block;" >

<div class="ads-add-cats" >
<div>
<div class="ads-add-cats-item" >

<?php

$getCategories = $CategoryBoard->getCategories("where category_board_visible=1");

if (isset($getCategories["category_board_id_parent"][0])) {
foreach ($getCategories["category_board_id_parent"][0] as $key => $value) {
?>
<div class="row" >
<div class="col-lg-1 col-md-2 col-sm-2 col-3 cats-item-img" ><img src="<?php echo Exists($image_category,$value["category_board_image"],$no_image); ?>" ></div>
<div class="col-lg-11 col-md-10 col-sm-10 col-9" >
<h5 class="change-item-cat" data-id="<?php echo $value["category_board_id"]; ?>" data-name="<?php echo $value["category_board_name"]; ?>" ><?php echo $value["category_board_name"]; ?></h5>
<div class="box-item-pod-cat" >
<?php
if (isset($getCategories["category_board_id_parent"][$value["category_board_id"]])) {
foreach ($getCategories["category_board_id_parent"][$value["category_board_id"]] as $key => $parent_value) {

$parent_cat[] = '<a data-id="'.$parent_value["category_board_id"].'" class="change-item-pod-cat" data-name="'.$CategoryBoard->breadcrumb($parent_value["category_board_id"],'{NAME}',' &rsaquo; ').'" >'.$parent_value["category_board_name"].'</a>';

}
if(count($parent_cat) > 0) echo implode("<i>•</i>",$parent_cat);
$parent_cat = array();
}
?>
</div>
</div>
</div>
<hr>
<?php
}
}

?>

</div>
</div>
</div>

</section>


может просто как-то сделать, чтобы эти категории выводились, но не были активными для нажатия (выбора)?
 
Последнее редактирование:
Анастасия, вы где берете программистов, которые Вам этот код пишут, если не секрет?
Этот код мало о чем говорит. Вариант ниже. Он сработает если ключи $key идут по порядку. И не сработает если они ассоциативные.

Код:
foreach ($getCategories["category_board_id_parent"][$value["category_board_id"]] as $key => $parent_value) {
  if ($key === 0) {
    $parent_cat[] = '<span data-id="' . $parent_value["category_board_id"] . '" class="change-item-pod-cat" data-name="' . $CategoryBoard->breadcrumb($parent_value["category_board_id"], '{NAME}', ' &rsaquo; ') . '" >' . $parent_value["category_board_name"] . '</span>';
  } else {
    $parent_cat[] = '<a data-id="' . $parent_value["category_board_id"] . '" class="change-item-pod-cat" data-name="' . $CategoryBoard->breadcrumb($parent_value["category_board_id"], '{NAME}', ' &rsaquo; ') . '" >' . $parent_value["category_board_name"] . '</a>';
  }

}

для ассоциативных ключей
Код:
foreach (array_values($getCategories["category_board_id_parent"][$value["category_board_id"]]) as $key => $parent_value) {
  if ($key === 0) {
    $parent_cat[] = '<span data-id="' . $parent_value["category_board_id"] . '" class="change-item-pod-cat" data-name="' . $CategoryBoard->breadcrumb($parent_value["category_board_id"], '{NAME}', ' &rsaquo; ') . '" >' . $parent_value["category_board_name"] . '</span>';
  } else {
    $parent_cat[] = '<a data-id="' . $parent_value["category_board_id"] . '" class="change-item-pod-cat" data-name="' . $CategoryBoard->breadcrumb($parent_value["category_board_id"], '{NAME}', ' &rsaquo; ') . '" >' . $parent_value["category_board_name"] . '</a>';
  }

}
 
Анастасия, вы где берете программистов, которые Вам этот код пишут, если не секрет?
по объявлению)) а если серьёзно, то с программистами действительно печально :conf:

Вариант ниже. Он сработает если ключи $key идут по порядку. И не сработает если они ассоциативные.
спасибо! попозже попробую :sun:
 
И не сработает если они ассоциативные.
попробовала 2 варианта.. не работает.. категории по прежнему можно выбрать :conf:

получилось! :sun:
сократила одну строчку до таких вот размеров
<h5><?php echo $value["category_board_name"]; ?></h5>
и всё))
 
Последнее редактирование модератором:
Назад
Сверху