Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Shureg

Users
  
  • Posts

    2,766
  • Joined

  • Last visited

Everything posted by Shureg

  1. В коробочном варианте ОС всегда в пустой корзине ноли показываются. У вас тема или модуль отображают надпись, какие и как- неизвестно. Можно попробовать аналогично $data['text_items'] в файле \catalog\controller\checkout\cart.php после $json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); добавить if ($total===0) {$json['total'] = $this->language->get('text_empty');} $json['total'] там два раза встречается.
  2. Реализовали разнообразными способами. Почему бы вам не ознакомиться с уже готовыми модулями? Например, https://opencartforum.com/topic/49333-модуль-мега-меню-для-opencart-20х/?do=findComment&comment=429038 Выведет категории НЕжно и аккуратно :-)
  3. Сорри, подходящей ссылки как-то не нашлось. В-общем, на словах - скорее всего, у вас на странице где-то задается параметр base href. Используйте абсолютные якоря
  4. Конечно, видна. А как иначе браузер вашу картинку получит. Относительные ссылки точно также полный путь к изображению определяют, только относительно адреса страницы. Скрыть его они никак не могут, тогда картинка просто не загрузится. Листинг-то перестал открываться после подключения htaccessa?
  5. Я думаю, она там для того, чтобы подгрузить этот файл стиля в хедере страницы. Если вы думаете иначе, включите страницу со слайдшоу и гляньте исходный код в браузере. Скорее всего, мы говорим о разных хедерах - на странице и в шаблонах :-)
  6. Относительные ссылки никакой "структуры" не скрывают, абсолютные никакой дополнительной "структуры" не раскрывают. А чтобы запретить листинг директорий, включите уже стандартный опенкартовый htaccess. Или добавьте в него строчку Options -Indexes если зачем-то её удалили.
  7. Чтобы подсвечивался активный пункт меню, в варианте по сслыке взять контроллер, а файл шаблона category.tpl подправить: <div class="list-group"> <?php foreach ($categories as $category) { ?> <?php if ($category['category_id'] == $category_id) { ?> <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <?php foreach ($category['children'] as $child) { ?> <?php if ($child['category_id'] == $child_id) { ?> <a href="<?php echo $child['href']; ?>" class="list-group-item active"> - <?php echo $child['name']; ?></a> <?php } else { ?> <a href="<?php echo $child['href']; ?>" class="list-group-item"> - <?php echo $child['name']; ?></a> <?php } ?> <?php } ?> <?php } ?> <?php } ?> </div>
  8. В базовом опенкарте в боковом меню примера, как у вас, не получится. Будет Футболки Толстовки -Розовые -Желтые -И так далее.... Майки У вас или дополнение какое-то стоит, или вы что-то неправильно объясняете, поэтому конкретно что-то посоветовать трудно. В стандартном варианте можно просто удалить ссылку категории первого уровня из шаблона, и будет вам счастье.
  9. Вы неправильно вопрос ставите. Подключить файл стилей вне хедера нельзя. Но можно в хедере проверять, например, адрес страницы, и подключать дополнительный стиль при совпадении.
  10. Зачем изобретать велосипед? Для склонения существительных рядом с числительным есть несколько готовых, опробованных алгоритмов. Желающим ознакомиться - гугл в помощь. В примере specussa использован один из самых красивых, имхо. Доработанное готовое решение для opencarta: PS: деление по модулю в php работает не так, как арифметический остаток. Вывод 2%10 будет не 0, как ожидается математически, а 2.
  11. Так на 10 или на 20? Суть очень даже меняется, ИМХО. Вам тогда и массив надо до 20 увеличивать. Однако, при этом после 30 товаров всё опять испортится, и склонения пойдут какие попало... Предложите делить на 30? :-D
  12. Вам поговорить не с кем? Считаете мой ответ менее полезным, чем ваш?
  13. Это не полное решение. При обновлении аяксом опенкарт использует другие переменные. Плюс, непонятно, зачем убрали вывод суммы - вроде, ТС этого не просил :-) Полный вариант В catalog\controller\common\cart.php заменяем $data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); на $count = $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0); function getWord($number, $suffix) { $keys = array(2, 0, 1, 1, 1, 2); $mod = $number % 100; $suffix_key = ($mod > 7 && $mod < 20) ? 2: $keys[min($mod % 10, 5)]; return $suffix[$suffix_key]; } $text_items1 = $this->language->get('text_items1'); $text_items2 = $this->language->get('text_items2'); $text_items5 = $this->language->get('text_items5'); $array = array($text_items1, $text_items2, $text_items5); $currency = $this->currency->format($total); $data['text_items'] = $count .' '. getWord($count, $array).' - '.$currency; а в \catalog\language\russian\common\cart.php добавляем $_['text_items1'] = 'товар'; $_['text_items2'] = 'товара'; $_['text_items5'] = 'товаров'; Теперь аналогично надо сделать для аякс-запросов: в файле \catalog\controller\checkout\cart.php ДВА раза надо заменить $json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); на $count = $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0); function getWord($number, $suffix) { $keys = array(2, 0, 1, 1, 1, 2); $mod = $number % 100; $suffix_key = ($mod > 7 && $mod < 20) ? 2: $keys[min($mod % 10, 5)]; return $suffix[$suffix_key]; } $text_items1 = $this->language->get('text_items1'); $text_items2 = $this->language->get('text_items2'); $text_items5 = $this->language->get('text_items5'); $array = array($text_items1, $text_items2, $text_items5); $currency = $this->currency->format($total); $json['total'] = $count .' '. getWord($count, $array).' - '.$currency; И, соответственно, в \catalog\language\russian\checkout добавляем $_['text_items1'] = 'товар'; $_['text_items2'] = 'товара'; $_['text_items5'] = 'товаров'; Проверено на ОС 2.102, работает.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.