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

Engineer

Users
  • Posts

    69
  • Joined

  • Last visited

Information

  • Gender
    Мужчина
  • City:
    на трассе Черноморск-Удоевск :)

Recent Profile Visitors

3,687 profile views

Engineer's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Reacting Well Rare
  • Week One Done

Recent Badges

7

Reputation

  1. Новый форум - это нечто. Полностью сожрало разметку. Попробую повторить. Правильно поняли, что "что-то не так" $json['total'] - это не число товаров в корзине, а уже отформатированная строка ответа " Икс товаров на Игрек тугриков". Число товаров в корзине - это $this->cart->countProducts(), код который вам нужен должен выглядеть где-то так Например: if($this->cart->countProducts() == 0) $json['total'] = ... if($this->cart->countProducts() == 1) $json['total'] = ... Обратите внимание, сравнение в php не = (как у вас в коде - это присвоить значение), а == $data['text_items'] - это, тащем-та, тот самый шаблон, вида "%s товаров - %s денег". Он вообще не для правки в коде :) На вашем месте я бы вообще определил в языковом файле language/(язык)/checkout/cart.php несколько текстов для разных вариантов вида: $_['text_items1'] = "%s товаров - %s денежных единиц. Немного подкреплюсь" и использовал бы их.if($this->cart->countProducts() == 1) $json['total'] = sprintf($this->language->get('text_items1'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); Что делает код: если число товаров в корзине равно единице, то в заполняет места в шаблоне (первый аргумент функции sprintf, до первой запятой) для подстановки ( %s ) параметрами. Первый - от первой до второй запятой в функции sprintf (второй аргумент) считает число товаров и купонов, второй - после второй запятой (третий аргумент), сумма. Если не нужен вывод числа товаров, суммы - правите шаблоны и убираете из sprintf ненужные параметры.
  2. Правильно поняли, что "что-то не так" $json['total'] - это не число товаров в корзине, а уже отформатированная строка ответа " Икс товаров на Игрек тугриков". Число товаров в корзине - это $this->cart->countProducts(), код который вам нужен должен выглядеть где-то так. if($this->cart->countProducts() == 0) $json['total'] = ... if($this->cart->countProducts() == 1) $json['total'] = ... Обратите внимание, сравнение в php не = (как у вас в коде - это присвоить значение), а == $data['text_items'] - это, тащем-та, тот самый шаблон, вида "%s товаров - %s денег". Он вообще не для правки в коде :) На вашем месте я бы вообще определил в языковом файле language/(язык)/checkout/cart.php несколько текстов для разных вариантов: $_['text_items1'] = "%s товаров - %s денежных единиц. Немного подкреплюсь" и использовал бы их. Например:if($this->cart->countProducts() == 1) $json['total'] = sprintf($this->language->get('text_items1'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); Что делает этот код: если число товаров в корзине равно единице, то в заполняет места в шаблоне (первый аргумент функции sprintf, до первой запятой) для подстановки ( %s ) параметрами. Первый - от первой до второй запятой в функции sprintf (второй аргумент) считает число товаров и купонов, второй - после второй запятой (третий аргумент), сумма. Если не нужен вывод числа товаров, суммы - правите шаблоны и убираете из sprintf ненужные параметры.
  3. Блин, парни, откуда такая любовь удалять гланды через задний проход? Чуть теории. Манипуляции с содержимым виджета корзины происходят с помощью функций add и remove контроллера catalog/controller/checkout/cart.php. Если "не сложилось", например попытались добавить товар без обязательной опции, в ответе будет json['redirect'] на страницу товара. Если все хорошо, в ответе json будет поле total, которое скрипт на странице подхватывает и вставляет как текст в виджет корзины. $json['total'] = .... это оно. По умолчанию, "из коробки" вывод формируется в виде "{количество} товаров - {сумма}", независимо от количества товаров и суммы, даже нулевого. Если хочется, чтобы в зависимости от количества выводились разные надписи, то вместо коробочного единого текста делаете if или switch по $this->cart->countProducts() (это функция подсчета числа товаров в корзине) и там уже по вариантам количества ( ноль, не ноль, другие цифры) делаете свой вывод. В итоге вместо дефолтного присваивания у вас будет конструкция вида: Если А $json['total'] = ... Если B $json['total'] = .... и т.д. Можно добавить в языковый файл корзины разных текстов и их использовать для таких случаев. Вышеизложенное для опенкарта из коробки. Если стоит тема и что-то правит по-своему, надо разбирать ее и править по тому же принципу
  4. Не должно быть критично. А вообще, для опорных цифр, ориентиров, сделайте копию магазина, соберите все товары в одну категорию и в файле catalog/model/catalog/product.php сделайте маленькую правку: 1. найдите функцию getProducts 2. и строчку в ней, где задаются лимиты на вывод закомментируйте ее и вместо нее пробуйте $sql .= " LIMIT 0,100" 200,300...1000, 5000, 10000 и т.п. Открывайте ту категорию, куда все собрали, и смотрите, как быстро выводит. Тк скзать, научным тыком определите, когда ваш магазин на вашем хостинге в ваших условиях начнет захлебываться.
  5. Скорее всего этим вы просто убьете магазин. В опенкарте есть одна особенность реализации получения списка товаров : после предварительного запроса для получения списка товаров подходящих по условиям(категория и т.д.) для каждого(!) товара из этого списка потом вызывается функция с отдельным sql-запросом к БД. Из-за этого стандартные 20-50 товаров на странице еще не так болезненно, но если в категории сотни товаров и вы захотите получить все сразу, то получите бешеную нагрузку на сервер сзади и тормоза на выходе спереди. Если товаров еще больше, то "стремительным домкратом" растут шансы на то, что вывода вообще не будет. Сервер просто убьет по таймауту php скрипт, пока тот дожидается ответа от БД. Если же вывод всех товаров так критичен, что просто жить без этого никак, надо в первую очередь переписывать модель( и возможно оптимизировать под вас). Все остальное - внешняя возможность выбора "все товары", использование ее по умолчанию, передача этого нового параметра внутрь для исполнения - только вершина айсберга.
  6. Скорее всего у блока вылетевшего в шапку в стиле position: absolute, а у его родителя-контейнера не выставлен position: relative. Вот его и позиционирует по координатам не внутри родителя, а на странице
  7. 1. Хотелось бы взглянуть на сайт (ссылку). 2. Какая тема/шаблон использованы. 3. Чем пользовались для стикеров (модуль, что-то свое)
  8. Вывод задается в шаблоне: catalog/view/theme/default/template/product/category.tpl Если тема не дефолтная, соответственно меняется путь. Там ищете $description - переменная в которой описание категории, будет выглядеть как-то так. Смысл фрагмента: если есть картинка для категории $thumb или описание $description - вывести их. Смотрите по разметке, куда его вам хочется перенести - переносите код туда, и вуаля!
  9. У меня знакомая из РФ, из Е-бурга влетела на Гепатит С. Пренеприятнейшая дрянь. Ну и по ходу лечения начала узнавать цены. Софосбувир(кажется) стоил чуть ли не на порядок дороже ( раз в 6-7) чем дженерик из Индии. Та же формула, то же действующее вещество, просто без раскрутки, рекламы, бренда, лейбла и т.п. Дженериком, ну нонейм, торгуют чуть ли не из под полы, всячески стопорят лицензирование, разрешения. Вот на этой накрутке в 6-7 раз и можно проводить семинары для врачей, приплачивать дилерские аптекам и прочее. Нужен только лох, который будет за все это платить. А тему принудительного лицензирования, как в Индии, когда изобретателю платят фиксированный процент от сбыта и делают у себя, почему и выходит в разы дешевле, прикрыли, что в России, что в Украине - "снижает инвестиционную привлекательность". Такие дела.
  10. Да. Я правда не на сайтах обращал внимание на это, а в самих аптеках. В рецепте одно, но всегда могут предложить такое же лекарство, с таким же действующим веществом, но от другого производителя под другим названием и с другой ценой. В общем, кто-то (и я полагаю этот кто-то - заказчик) должен предоставить список аналогов, из которого можно сделать таблицу и следить за ее наполнением. Тогда и поиск можно делать умно и быстро.
  11. Как мне кажется, если нет формализации критериев и процедуры, как подбирать аналоги, сфинкс не поможет. А если она есть, то это решается добавлением пары полей/таблиц с продуманной индексацией, подпиливанием поиска и аж шуршит все.
  12. А какие еще опции используются для штор(товара)? Цвет, что-то с материалом, или размер высота х ширина единственная? И размеры полотен исходных материала общие, или для разных материалов могут отличаться? Ну например, в одном случае 1,5м, в другом два, и от этого будет меняться формула расчета цены?
×
×
  • 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.