Jump to content

pepelxD

Пользователь
  • Content Count

    40
  • Joined

  • Last visited

Контактная информация

  • Skype
    traveler1056

Информация о вас

  • Фриланс
    Верстка
    Пользователь
  • Версия CMS
    2.x
  • From
    Россия
  1. Если проблемы связаны только с количеством вариантов а по умолчанию берется первый объект из массива variants, то для меня это не критичная проблема. Главное что-бы массив variants заполнялся объектами не зависимо от того равен ли stock нулю или нет. т.е. как я мыслю: у товара есть варианты, какие-то в наличии какие-то нет. При установке варианта по умолчанию можно пройтись по массиву и первый попавшийся объект с stock > 0 установить в variant. Ну а дальше уже при отбражении вариантов (кликаем по кнопочке с названием варианта) с помощью ajax передавать id выбранного контролеру, который
  2. К вопросу о отображении товара при нулевом количестве. В дефолтной реализации данный вопрос сводится к свойствам объекта variants, т.е. при количестве 0 применяется фильтр in_stock. Почитал форум рецепт состоит в удалении 'in_stock'=>true. Но так же был пост http://forum.simplacms.ru/topic/11126-отображение-цены-при-0-шт/?p=85838, где говорится что это чревато ошибками. О каких ошибках идет речь? Допустим мне нужно в карточке товара отображать товар при нулевом количестве и выводить "нет в наличии" Исходя из прочитанного убрал в ProductView.php foreach($this->variants->get_variant
  3. В твоем шаблоне можно выбрать столько товаров: Ну в общем понятно поле ни как не обрабатывается... хоть миллион туда пиши, хоть +/- бесконечность.
  4. Эта функция у меня в чистой симпле есть (2.3.8) в Image.php private function correct_filename($filename) { $ru = explode('-', "А-а-Б-б-В-в-Ґ-ґ-Г-г-Д-д-Е-е-Ё-ё-Є-є-Ж-ж-З-з-И-и-І-і-Ї-ї-Й-й-К-к-Л-л-М-м-Н-н-О-о-П-п-Р-р-С-с-Т-т-У-у-Ф-ф-Х-х-Ц-ц-Ч-ч-Ш-ш-Щ-щ-Ъ-ъ-Ы-ы-Ь-ь-Э-э-Ю-ю-Я-я"); $en = explode('-', "A-a-B-b-V-v-G-g-G-g-D-d-E-e-E-e-E-e-ZH-zh-Z-z-I-i-I-i-I-i-J-j-K-k-L-l-M-m-N-n-O-o-P-p-R-r-S-s-T-t-U-u-F-f-H-h-TS-ts-CH-ch-SH-sh-SCH-sch---Y-y---E-e-YU-yu-YA-ya"); $res = str_replace($ru, $en, $filename); $res = preg_replace("/[\s]+/ui", '-', $res); $res = preg_replace("/[^a-zA-Z0-9\.\
  5. Я не буду спорить, конечно можно использовать как один так и второй.
  6. Да, да, разобрался, одно и тоже получается. Это же проценты а не фиксированная цифра...
  7. В функции get_cart класс Cart есть строки расчета скидки: ............. $cart->total_price += $item->variant->price*$item->amount; // вот здесь уже получили общую цену с учетом количества $cart->total_products += $item->amount; } } // Пользовательская скидка $cart->discount = 0; if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id']))) $cart->discount = $user->discount; $cart->total_price *= (100-$cart->discount)/100; // а здесь применяем скидку ............ Не кажется ли вам что з
  8. Выложу, как будет готово. А АПИ простой, обращаюсь к файлу он отдает мне данные о продукте из базы, т.е. стандартный $product который доступен в view и текущего юзера из сессии. Там выше есть код пхп файла. http://forum.simplacms.ru/topic/12577-консультация-по-движку/?p=97588 Очень плохо, что при необходимости модифицировать классы апи симплы и view их необходимо модифицировать в движке и симпла не предоставляет возможности в теме наследоваться от этих классов и переопределять нужные методы классов. В планах подумать над этим.....
  9. А почему данные из формы передаются GET запросом, а не POST. Ведь даже их предназначение: первый - получить, второй - отправить. Или в этом есть какой сакральный смысл?
  10. Но с другой стороны причем тут генерация страницы на сервере и ее обработка в браузере? При таком подходе JS отработает даже быстрее, так как убрали фенсибокс, убрали ajax-cart, убрали еще несколько объемных файлов. Получили меньшее количество запросов. А если еще добавили атрибут defer то еще немного увеличили скорость загрузки.... Или я не прав?
  11. как по мне так Смарти не использовал бы изначально вообще.... Но это мое мнение...
  12. Имеются ввиду списки товаров? Если да то для каждого товара создается объект: var list = document.querySelectop('селектор списка'); for(var i = 0; i < list.children.length; i++) { list.children[i] = new Product(); } А уже там есть необходимый функционал
  13. Так на нем и пишу, просто в ООП стиле. Удобно, есть объект, он может делать то то и то то, у него есть это и это. Чем разбросанные отдельные функции. Но это конечно дело вкуса и холивары тут можно разводить бесконечные )
  14. Заморочки объектно - ориентированного программирования на javaScript, Т.е. создается класс Product у него есть методы управления слайдером изображений продукта, добавлением в корзину, расчетом стоимости (скидки, акции, выбор количества) и т.д. Т.е. весь необходимый для работы с продуктом javaScript собирается в виде методов класса. Для чего? Да не люблю использовать библиотеки, там где в них нет надобности. Тем более грузить JQ, JQUI для того, что бы отправить аяксом несколько полей данных, да заставить работать фенсибокс и пару слайдеров - немного расточительно не правда ли?
  15. Да не, не так понял меня, я имел ввиду для отключения этого скрипта достаточно отключить его там. Пишу централизованный обработчик для "продукта" в виде конструктора, соответственно удаляю все куски кода связанные с ним в разных местах.
×
×
  • Create New...