frendlyfire

Убрать цифру 0 из сравнения товаров и у избранных

Рекомендуемые сообщения

frendlyfire    0

Добрый день форумчане и гуру программирования!

Сразу могу сказать, что я новичок в php и уж совсем в javascript. Для Вас я ценности не представляю, но очень прошу помочь.

Необходимо убрать цифру ноль в закладках и в избранном, если туда еще ничего не добавили. При добавлении должна появляться цифра 1 и т.д.

Вот код вывода:

<span id="compare-total"><?php echo sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); ?>

Я попробовал вместо 0(ноль) написать NULL, но толку никакого.

Я буду очень признателен за помощь.

Заранее благодарен добрым людям.

 

 

 

С корзиной товаров у меня получилось.

Кому необходимо решение, то вот:

catalog/controller/module/cart.php

находим строчку (примерно 53 строка)

$this->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));

и сразу после нее вставляем:

//Если в корзине нет товаров, то не выводим цифру 0
		if ($total===0) {
			$this->data['text_items'] = '';
		}

Комментарий я писал для себя.

Должно в итоге получиться:

		$this->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));
		//Если в корзине нет товаров, то не выводим цифру 0
		if ($total===0) {
			$this->data['text_items'] = '';
		}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
frendlyfire    0

Ну неужели данная задачка никому не интересна? Ведь 100% кто-то знает как реализовать. В карму +1 будет)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexDW    822

вместо ноль пробуйте кавычки ""

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
frendlyfire    0

вместо ноль пробуйте кавычки ""

Интересное кино получается. Вроде и пробовал кавычки и не получалось! А тут раз и вышло! Огромное спасибо!

Единственное, может подскажете еще один вариант для такой задачи. Я добавляю в избранное товар и там появляется 1. Все работает. Но когда удаляю снова становится 0. Только очистка сессии снова заставляет убраться и 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexDW    822

смотрите в файлах catalog\controller\account\wishlist.php и catalog\controller\common\header.php по wishlist и делайте аналогично

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От excalibur
      Когда-то в версии 1.5 делал доступ к закладкам лишь удалив в контроллере первых несколько строк проверки логина пользователя, и всё работало.
      Сейчас проделал подобное, но обнаружил, что закладки каким-то образом общие для любых поситителей, любых IP, браузеров устройств.
       
      Реализовал работу с закладками исключительно правкой контроллера catalog\controller\account\wishlist.php
       
      Убрать строки
      if (!$this->customer->isLogged()) { $this->session->data['redirect'] = $this->url->link('account/wishlist', '', true); $this->response->redirect($this->url->link('account/login', '', true)); } После строки:
      $this->model_account_wishlist->deleteWishlist($this->request->get['remove']); Добавить:      
      if (!$this->customer->isLogged()) {             $this->session->data['wishlist'] = array_diff( $this->session->data['wishlist'], array($this->request->get['remove']) );                 } После строки
      $results = $this->model_account_wishlist->getWishlist(); Добавить:
      if (empty($results)){ if (!empty($this->session->data['wishlist'])){ foreach ($this->session->data['wishlist'] as $wish){ $results[]['product_id'] = $wish; } } } Чтобы кнопка "Продолжить" со страницы закладок перенаправляла не в аккаунт а на предыдущую страницу
      Строку :
      $data['continue'] = $this->url->link('account/account', '', true); Заменить на:
      $data['continue'] = 'javascript:history.go(-1)'; И последнее, в конце строку:
      $json['success'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', true), $this->url->link('account/register', '', true), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));   Заменить на:
      $json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));  
      Протестировал, у меня все работает, закладки теперь привязаны к сессии, следственно каждый посетитель сайта может накидать закладок и потом из них выбрать и оформить заказ без регистрации (если это доступно), при закрытии браузера закладки не обнуляются, 
       
      Не могу утверждать что решение идеальное, поэтому кто заинтересован - берите, тестируйте, оценивайте, предлагайте идеи, если можно что-то улучшить.
       
      У меня остался нерешенным вопрос - вычислить длительность пользовательской и админской сессии и как их продлить. Решения, найденные на форуме и в сети неоднозначные и описывают замену строк в файле session.php которые гораздо проще чем в версии 2.3.0.1
    • От sergiussv


      Просмотреть файл Simple popup cart, wishlist, compare (OC 1.5-2.1, 2.3)
      Модуль заменяет стандартные сообщения о добавлении товаров в корзину, в сравнение и в закладки, убирает прокручивание страницы вверх.
      Модуль совместим с Opencart, ocStore 1.5-2.1, 2.3
      - отдельный шаблон
      - поддержка языковых пакетов (в комплекте русский и английский языки)
      Для установки требуется vqmod или ocmod и небольшие изменения в файл common.js (какие, описано в read_me_X.X.txt в архиве, где X.X версия opencart)
       
      Демо: http://demo.lucky-purse.ru/
      Демо админ: http://demo.lucky-purse.ru/admin/index.php?route=module/popup_product_sv логин/пароль: demo
      Использование модуля разрешается на неограниченное количество своих сайтов, но если вы его используете при разработке сторонних сайтов, каждая копия оплачивается отдельно.
      Автор sergiussv Добавлен 12.03.2016 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От sergiussv
      Модуль заменяет стандартные сообщения о добавлении товаров в корзину, в сравнение и в закладки, убирает прокручивание страницы вверх.
      Модуль совместим с Opencart, ocStore 1.5-2.1, 2.3
      - отдельный шаблон
      - поддержка языковых пакетов (в комплекте русский и английский языки)
      Для установки требуется vqmod или ocmod и небольшие изменения в файл common.js (какие, описано в read_me_X.X.txt в архиве, где X.X версия opencart)
       
      Демо: http://demo.lucky-purse.ru/
      Демо админ: http://demo.lucky-purse.ru/admin/index.php?route=module/popup_product_sv логин/пароль: demo
      Использование модуля разрешается на неограниченное количество своих сайтов, но если вы его используете при разработке сторонних сайтов, каждая копия оплачивается отдельно.
    • От tarasivanovich
      Добрый день всем, подскажите как в стандартном механизме сравнения товаров, сделать так, что бы сравнивались товары только с одной категории?
    • От Exploits


      Просмотреть файл WishList Plus – продвинутый модуль закладок Opencart
      WishList Plus – продвинутый модуль закладок, который позволяет добавлять товар в избранное без регистрации аккаунта и логина в личный кабинет. Модуль работаеткак обычное дополнение и имеет много настроек. 
      На страницы магазина WishList Plus выводится в виде обычного блока в любом стандартном положении: вверху, внизу, справа, слева. Особенность его в том, что когда модуль выведен на странице и в нем нет выбранного товара - в блоке ничего не отображается. Но когда пользователь нажимает "Добавить в закладки" (сердечко) в нужной позиции плавно обновляется блок и в нем появляется добавленный товар. Когда добавляем второй товар — он также там появляется и когда товаров будет больше за лимит для карусели (количество настраивается) - включается карусель товаров.
      Особенность модуля в его мультиязычности. Все заголовки, ссылки и т.п. можно прописать для каждого языка магазина. Также гибко настраивается карусель товаров, скорости анимации и т.п плюшки. Если модуль не размещен на странице идет стандартное добавления в закладки средствами Opencart. Если модуль выведен на странице — он перехватывает добавление заменяя на свое.
      Разместить модуль можно на каждой странице в разных блоках со своими настройками. Это очень гибко и удобно. К примеру на странице завершения заказа блок можно сделать большой каруселью с заголовком: «Я еще не купил». Вариантов много.
      Еще модуль понимает когда покупатель заходит в личный кабинет. При логине он автоматически подвязывает туда уже выбранные закладки.
      WishList Plus распространяется по коммерческой лицензии. Стоимость покупки 300RUB (в других валютах по курсу на день покупки). Активация полуавтоматическая. Вы покупаете модуль, устанавливаете и ожидаете письмо с подтверждением активации. После подтверждения можно настраивать и использовать.
      Настройки модуля WishList Plus +

      Имя модуля — название для администратора. Например "Закладки для страницы оформления заказа". Именно по этому названию идет выбор модуля в Схемах расположения. Заголовок блока — Это заголовок блока с выбранными товарами  на сайте. Назвать его можно по разному, в зависимости от страницы и расположения. Если в корзине оформления можно так «Еще хочу купить», если в категории «Выбранные товары». Здесь чего душа пожелает. Ссылка на страницу избранных товаров — это название ссылки после названия блока которая ведет на страницу закладок. Показывать количество возле заголовка — само название говорит о функционале. Это отображение количества товара в закладках. Рекомендуется включать, это достаточно информативно. Циклическая прокрутка в слайдере товаров, Показывать стрелочки навигации, Показывать кружки пагинации  — все это понятно из названия. Если что-то не понятно пишите в поддержку. Показывать эффект обновления блока — если включена эта опция, при добавлении или удалении товара блок на доли секунды плавно исчезает и так же плавно появляется с обновленным списком товара. Скорость скрола к блоку с избранными товарами — если не задать ничего или 0 при добавлении товара в избранное страница не будет скролить к блоку с закладками. Если вписать значение 500, то за пол секунды страница пролистает к блоку. Селектор обновления ссылки вверху сайта, Название верхней ссылки — по этому селектору можно определить ссылку вверху сайта в мои закладки. Саму ссылку можно переименовать на ваш вариант. Символы %s — заменяются на количество товара в закладках. Количество в каруселе — это количество товаров в блоке с каруселью. Можно сделать по два товара, либо по 10 как будет лучше для дизайна сайта и для конкретной страницы. Например если расположить блок с закладками в правой или левой колонки то рекомендуется ставить 1 или максимум два товара в карусели. Ширина, Высота — это размеры изображений в блоке избранное в px. Рекомендуется настраивать под дизайн сайта. За дополнительной информацией и как купить обращайтесь к разработчику info@microdata.pro
       
      Демо http://2302.for-opencart.com
       
      Пока что на версию 2.3 Если модуль нужен будет на другие версии, смогу сделать релиз.
      Автор Exploits Добавлен 08.06.2017 Категория Прочее Работает на OpenCart Системные требования Работает на ocStore Сайт разработчика Работает на OpenCart.Pro, ocShop Старая цена Метод активации Ioncube Loader  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу