Привет, ребята, у меня проблема с логами c при сортировке списка размеров, надеюсь, вы поможете мне в этом. Вот мой подход
В моем файле шаблона:
<div class="collapse show" id="filters-<?= $filter['header'] ?>" aria-expanded="true">
<?php foreach ($subFilters as $subFilter): ?>
<?php if (!empty($subFilter['header'])): ?>
<div class="sub-heading">
<h3><strong><?= $subFilter['header'] ?></strong></h3>
</div>
<?php endif ?>
// My Sorting approach
<?php
if ($filter['header'] == 'Size') {
$temp = [];
$sorted = Configure::read('Products.Sizes.size');
foreach ($sorted as $key => $value) {
foreach ($subFilter['options'] as $k => $val) {
if ($subFilter['options'][$k]['data']['title'] === $value) {
$temp[$key] = $subFilter['options'][$k];
}
}
}
$subFilter['options'] = $temp;
}
?>
<?php endforeach ?>
</div>
В моем приложении. php
return [
'debug' => $debug,
'DebugKit.forceEnable' => $debug,
'Products' => [
'giftCardCode' => '1135069',
'Skus' => [
'giftCardCode' => '1660620',
],
'Sizes' => array(
'size' => [
'7-8', '8', '9-10', '10', '11-12', '12', '13-14',
'32A', '32B', '32C', '32D', '34A', '34B', '34C', '34D', '34DD', '36A', '36B', '36C', '36D', '36DD', '38A', '38B', '38C', '38D', '38DD', '40A', '40B', '40C', '40D', '40DD',
'32', '34', '36', '38', '40', '42', '44', '46', 'XS', 'S', 'M', 'L', 'XL', 'XXL', '2XL', 'XXXL'
],
)
]
];
Что я хочу сделать здесь, это отсортировать его на основе для порядка в списке, что я и сделал, но проблема в моем логе c заключается в том, что вы переопределите значения в $ temp [$ key], если 2 или более параметров фильтра имеют одинаковый заголовок. Потому что есть размеры, которые отличаются как для мужчин, так и для женщин.
Примечание: у меня есть размеры в моей базе данных, этот список размеров является лишь руководством, поэтому, если я хочу что-то изменить, мне просто нужно изменить свою конфигурацию файл.