Всем привет, возникла небольшая проблемка с обновлением счётчика товаров в закладках, после переноса в главное меню. Перенёс так, в header.tpl вместо PHP: <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?><a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a><?php } else { ?><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a><?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> вставил это: PHP: <li><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a></li> <li><a href="<?php echo $wishlist; ?>" id="wishlist_total"><?php echo $text_wishlist; ?></a></li> <li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li> <li><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a></li> <li><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></li> Так же отсюда удалил всё кроме записи про wishlist, это для проверки PHP: <div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div> Выглядит это вот так: Так же в wishlist.php добавил изменения, что бы закладки могли просматривать и не зарегистрированные пользователи, но это по идее не должно влиять, т.к. косяк одинаков, что зареганых что нет пользователей. Собственно проблема в том, что при добавлении в закладки, счётчик в старом месте (2) сразу же увеличивается, а в новом (1), на панели меню, только если обновить страницу или перейти по какой либо ссылке. Если удалять из закладок, то страница обновляется вся целиком и счётчики в обоих местах тоже. Вобщем, как сделать, что бы при добавлении в панели меню счётчик обновлялся сам ? Подозреваю, что искать нужно в wishlist.php
Доброй ночи Возможно, проблема кроется в том, что в строчке, которую вы вставили <li><a href="<?php echo $wishlist; ?>" id="wishlist_total"><?php echo $text_wishlist; ?></a></li> и той, что была раньше <a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a> есть отличие в имени id стиля
Добрый день. В таком случае могу вам предложить еще вот что: - откройте свой файл catalog/view/javascript/common.js - найдите в нем строчку Код: $('#wishlist-total').html(json['total']); и просто замените ее на эту Код: $('#wishlist-total, #menu #wishlist-total').html(json['total']);
Хм, только что попробовал ваш вариант, результат тот же. В меню изменяется только после обновления всей страницы. Поковыряюсь ещё в этом common.js Upd: Всё, разобрался, мой косяк был. Теперь по предложенному Spartakom решению всё работает. Большое спасибо !!!
Вот смотрите, я например код меню Код: <?php if ($categories) { ?> <div id="menu"> <ul> <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul> </div> <?php } ?> изменил вот так Код: <?php if ($categories) { ?> <div id="menu"> <ul> <li><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a></li> </ul> </div> <?php } ?> и заменил строчку (как написал выше) в файле common.js На выходе, у меня все работает правильно.
Да, я когда $wishlist_total изменил на $wishlist-total не работало, а потом случайно заменит этот tpl файл, где это ещё было не исправлено, вот common.js и не сработал, сейчас всё перепроверил и исправил этот $wishlist_total. Всё сразу заработало, ещё раз спасибо