Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

sv2109

Користувачі
  • Публікації

    3 686
  • З нами

  • Відвідування

Усі публікації користувача sv2109

  1. Да, интересное решение. На первый взгляд то что нужно - создаешь свой модификатор, который является наследником какого-то класса и переопределяет любой метод этого класса с последующим вызовов метода родителя. Бегло просмотрел код. Там вводится еще один слой абстракции - фабрика, с помощью которой можно переопределять методы других классов. Правда переопределяется все через какой-то variable stream, пока не разобрался с этим. Шаблоны переопределяются через хелпер modifier или через str_replace, короче тот же vqmod только с другой реализацией.. Плюс еще один слой, который серьезно усложняет логику и может конкретно увеличить скорость загрузки страницы. Короче пока двойственные чувства. С одной стороны классно, то что нужно, с другой слишком сложно и тяжело и местами ничем не отличается от vqmod-a.
  2. Приветствую всех. Я занимаюсь опенкартом относительно недавно, до этого работал с Друпалом. Весь Друпал построен на системе хуков (крючков). С помощью которых один модуль может внести изменения в работу другого. Например один модуль может создать меню, а другой добавить к этому меню новый пункт. Или один модуль может создать тип материала, например Товар с полями Название, Описание, Цена, а другой модуль к этому типу добавить свое поле Производитель. Всего есть десятки хуков с помощью которых можно переопределить почти все - меню, типы материалов, пользователей.. можно добавить свой код например после создания нового материала или при запуске крона итд. В результате получается очень гибкая система, в которой с помощью нескольких строк кода без изменения кода ядра можно сделать что угодно. В опенкарте все наоборот - никакого механизма что-то изменить нету и даже для казалось бы элементарного действия - создание нового пункта меню из модуля нужно изменять ядро.. Для этого даже придумали костыль - vqmod, который разработчику доставляет кучу проблем, так как файл до изменения его vqmodом уже мог изменить другой модуль или кто-то случайно добавил лишний пробел.. и все, ничего не работает. Изучив код опенкарта я понял, что весь рендеринг происходит через метод render класса Controller. До рендерига в массив $data собираются данные для каждого шаблона. То есть если перед ренедерингом дать возможность модулям менять массив $data.. то это даст очень мощный инструмент, с помощью которого можно было бы без изменения кода ядра и использования vqmod менять (добавлять, удалять) очень много всего - меню, ссылки, хлебные крошки, информацию о товарах, категориях.. вообще любую переменную шаблона! Накинул примерную реализацию: В методе render() класса Controller: перед extract($this->data);добавить $this->hookPreRender(); Добавить метод hookPreRender(): protected function hookPreRender() { $extensions = $this->model_setting_extension->getExtensions('module'); foreach ($extensions as $extension) { $action = new Action('module/' . $extension['code']); $file = $action->getFile(); $class = $action->getClass(); $method = 'preRender'; $action = NULL; if (file_exists($file)) { require_once($file); $controller = new $class($this->registry); if (is_callable(array($controller, $method))) { $template = strpos($this->template, $this->config->get('config_template')) !== FALSE ? $this->config->get('config_template') : 'default'; $template = str_replace(array($template . '/template/', '.tpl'), '', $this->template); call_user_func_array(array($controller, $method), array(&$this->data, $template)); } } } } Все, всего несколько строк кода.. Теперь в своем модуле можно создать метод контроллера public function preRender(&$data, $template) например: public function preRender(&$data, $template) { if ($template == 'common/footer' && isset($data['informations'])) { unset($data['informations'][0]); } }Этот код удалит первый элемент массива статей в шаблоне футера.Хочется услышать мнение сообщества насчет подобной инновации. Если вещь стоящая то можно подумать как оптимизировать код и предложить добавить это в оф. релиз движка.
  3. Должен появиться селект после выбора определенного атрибута, если у этого атрибута есть значения.Если этого не произошло то возможно то возможно вы что-то неправильно установили или у вас не установлен или установлен не правильно vqmod или у вас есть другие модули которые тоже используют vqmod для изменения тех самых файлов и происходит конфликт.. причин может быть много. Если не разберетесь можете дать доступ в админку вашего сайта посмотрю.
  4. Согласен. С радостью бы помог. Для меня основная проблема это английский.. если баг репорт я напишу на русском или с помощью переводчика боюсь его никто не поймет..Было бы неплохо если бы в разработке оф. версий участвовало русское сообщество, тогда можно было бы что-то делать и общаться на русском.
  5. есть где-то график (хотя бы приблизительный) выхода новых версий? киньте плиз ссылку.
  6. Установил только что 1.5.5, потыкал мышкой.. куча ошибок, категории нормально не работают, фильтры тоже. Фильтры ИМХО нужно к атрибутам привязывать и не создавать лишнюю сущность, да большая гибкость но и трудозатраты при создании товара (особенно если в товаре штук 20 атрибутов) возрастают очень сильно. Так что пока 1.5.5 еще вообще не рабочая и когда ее допилят, протестируют и зарелизят неизвестно.
  7. Идем в админ панель - продажи - покупатели - группы покупателей - Default - изменить. Ставим Нет напротив "Display Company No." и "Display Tax ID"
  8. Насчет премодерации. Как я уже писал выше, до 95% ошибок возникают не из-за багов модуля, а из-за внешних факторов - другая версия движка, другие модули, темы, браузеры, кривые руки пользователей итд. И эта премодерация почти ничего не решит! Потому что ни один тестер не может проверить работу модуля во всех возможных конфигурациях.. Да и кто этим всем будет заниматься и брать на себя ответственность? Мне кажется, нужно просто наладить систему жалоб и не выплачивать деньги разработчику сразу. Если модуль реально не рабочий и разработчик пропал или отказывается его исправлять то 1. Пожаловаться администрации 2. Получить назад свои деньги 3. Заблокировать модуль и как-то наказать разработчика, например баном на время.
  9. Кстати, как вариант, идея для создателей этого форума - сделать как например на фрилансе.ру возможность оставлять отзывы об исполнителе (напр. так https://www.free-lance.ru/users/nid/opinions/?from=users#op_head) . Это бы и облегчило поиск исполнителя и самих исполнителей бы заставляло более ответственно относиться к работе.
  10. Конечно, я и не писал обратного. Я писал о несовместимости модуля через внешние факторы и о строках исправления багов.
  11. Покупателям хочу сказать следующее - в 95% случаев модуль не работает не из-за того, что там какие-то баги, а из-за внешних факторов таких как другая версия движка, другие модули, настройки сервера, другая тема, устаревший браузер итд. Честь и хвала тому разработчику который продав вам модуль за 100 рублей соглашается после этого бесплатно со всем этим венегретом разбираться. В остальных 5% просто смотрите на рейтинг разработчика, на к-во скачиваний и на отзывы в теме поддержки (для этого она и создана!) если все нормально то скорее всего модуль будет рабочий. Ну не может же 20 человек скачать нерабочий модуль и ничего не отписать в теме. Так же не стоит ожидать, что заплатив 100 рублей за модуль, вам в случае какой-то проблемы молниеносно ее исправят. Думаю строк в 1-3 рабочих дня вполне нормальный для исправления бага. Если разработчик не реагирует больше то нужно наверное писать администрации и конечно писать в теме модуля чтобы предупредить о возможном баге других покупателей.
  12. Написал модуль Он дает возможность устанавливать разные цены для разных групп пользователей. Но он не выводит несколько цен на страницу. Цена показывается только одна, минимальная для данной группы.
  13. Еще вопрос а обновлять все эти цены вы как думаете? Будет у вас 10 групп, у каждого товара соответственно 10 цен, а товаров например 10000? Вручную вводить не вариант. Использовать готовые модули импорта-экспорта не получится так как они работают со своими полями. Как вариант цену формировать с использованием процентов. Например есть розничная цена. Но для группы Оптовики цена -5%, группа крупный опт цена -10% итд. Тогда 1. загружать прайс вы будете так как и загружали 2. цены на все товары для групп меняются в 2 клика. НО имеем меньшую гибкость так как не будет возможности установить конкретную цену для конкретной группы Еще одна сложность. Нужно поменять вывод ВСЕХ цен (вместе с налогами, скидками, опциями итд) - страница товаров, каталог, страница заказов, корзина вообще все где встречается цена, а она встречается почти везде, это же магазин :) То есть нужно изменить кучу файлов. А если завтра вы установите какой-то модуль напр. "последние товары" то возможно придется менять и его код так как он может цену брать напрямую запросом из базы. Не совсем понял зачем пользователю показывать все цены втч. оптовые. И зачем указывать в админке где какую цену указывать. Какой смысл на странице товара указать одну цену а напр. в каталоге другую? Если пользователь с группы опт зашел на сайт он должен эту оптовую цену видеть везде. Мне так кажется. Написать модуль можно, но сначала нужно хорошо продумать логику его работы.
  14. можно так попробовать .product-info .option br { display: none; } .product-info .option-image { width: 100px; float: left; } .product-info .option-image:last-child { float: none; } + можно вместо .product-info .option-image указать конкретные опции через айди напр. .product-info #option-361, ...
  15. .product-info .option { clear: both; } .product-info .option br { display: none; } .product-info .option-image { width: 100px; float: left; }
  16. Ссылку киньте на эту страницу. Там скорее всего флоат нужно очистить для названий опций ну и разные верхние отступы если есть убрать.
  17. А вам товары импортировать нужно только 1 раз при начальной загрузке или постоянно обрабатывать такие объемы? Если первый вариант то можно сделать так: - качаем скрипт импорта-експорта Sypex Dumper - бесплатный скрипт, очень быстрый. Идеально подходит для создания бекапов, умеет даже по крону работать. - делаем ним дамп базы на рабочем сервере - переносим все (сайт+базу) на локалхост - устанавливаем на локалхосте время работы php скриптов на максимум (у себя можно и 2 часа поставить) - импортируем товары - создаем дамп на локалхосте - загружаем этот дамп на рабочем сервере - профит
  18. Неужели вы считаете что если есть люди которые игнорируют правила сайта то не найдется таких которые будут злоупотреблять минусами? Дай каждому возможность ставить кучу минусов и всегда найдется кто-то кто из-за своей ебанутости несостоятельности будет каждый день ставить эти минусы везде, где только можно, проверено.
  19. Попробуйте http://elbuz.com/e-trade-pricelist-importer Стоит не дешево но программа реально крутая. Имеет свой http туннель к которому конектится к базе сайта. Имеет интеграцию с ОупенКартом. Плюс у них есть еще контент креатор для сбора характеристик товаров. Идеально подойдет для больших магазинов с несколькими десятками тысяч товаров, которые нужно по несколько раз на день обновлять.
  20. Установил 1.5.1.3 установил модуль, вроде нормально работает. Обновил описание.
  21. Решил задачу написав 2 модуля: 1. Attribute Category - модуль привязывает атрибуты к категории и позволяет при добавлении товара автоматически добавлять поля атрибутов данной категории 2. Attribute Select - модуль создает списки-селекты для добавления значений атрибутов Почему не стал использовать предложенный выше модуль - основная причина потому что нужно решить 2 задачи, а данный модуль решает только одну. А если взять 2 модуля разных разработчиков то не понятно как они будут работать вместе, скорее всего придется допиливать разбираясь в чужом коде, лучше написать свой :)
  22. 350 Скачать / Купить дополнение Attribute Select Attribute Select - модуль для облегчения ввода значений для атрибутов Что делает модуль? Позволяет вводить значения для атрибутов с помощью списка. Списки формируются автоматически с уникальных значений каждого атрибута. Атрибуты, которые нужно вводить с помощью списка можно выбрать на странице настроек модуля. Модуль идеально подходит для атрибутов с небольшим (1-50) количеством значений. И не подходит для атрибутов типа описание, где почти каждое значение уникальное. Например если у вас в товаре есть атрибут "Операционная система" то каждый раз при вводе этого атрибута вам нужно вручную вписывать "DOS", "Linux", "Windows 3.1" итд. Это во-первых очень долго, во-вторых можно допустить ошибку, в-третьих один раз можно ввести "DOS", другой "MS DOS" или "ms dos", что недопустимо если вы используете модуль фильтрации по атрибутам. Модуль значительно сэкономить время и количество ошибок при вводе атрибутов. Модуль использует vQmod Установка: 1. Установить vQmod, если вы этого еще не сделали 2. Скопировать все с папки upload в корень магазина. Никакие файлы перезаписаны не будут 3. Включить модуль на странице модулей 4. В настройках модуля выбрать те атрибуты которые нужно вводить с помощью списка Версии на которой тестировался модуль: Opencart 1.5.6 OCStore 1.5.5.1 OCStore 1.5.4.1 OCStore 1.5.3.1 OCStore 1.5.2.1 OCStore 1.5.1.3 Поддержка OpenCart / ocStore 2.x и 3.x есть во второй версии модуля Удобно использовать вместе с модулем Attribute Category который упрощает добавление новых атрибутов при добавлении товара Для связи с автором модуля пишите на [email protected] © Стасюк Владимир ([email protected]), 2012 Добавил sv2109 Добавлено 30.07.2012 Категория Атрибуты Системные требования Метод активации Без активации Ioncube Loader Нет ocStore 1.5.5.1.2 1.5.5.1.1 1.5.5.1 1.5.4.1.2 1.5.4.1.1 1.5.4.1 1.5.3.1 1.5.2.1 1.5.1.3 OpenCart.Pro, ocShop OcShop 1.5.6.4.х Обращение к серверу разработчика Нет  
  23. Как я вас понимаю :) Тоже пришел в Оупенкарт неделю назад после 2-х лет работы с Друпалом. Сделал на нем (d6+ubercart) несколько магазинов, потом вышла семерка с коммерсом где для добавления товара нужно сначала добавить сам товар а потом еще и представление.. в общем перемудрили маленько. А в восьмерку вообще кусок симфони засунули.. Решил подыскать новый движок для магазина по отзывам решил попробовать Оупенкарт. Из плюсов Оупенкарта можно отметить огромную скорость (оно и понятно, достаточно взглянуть на код там все упрощено до максимума), быстрый старт (не нужно 3 месяца изучать апи чтобы написать модуль, первый модуль я написал после 3-х дней изучения оупенкарта)), куча магазинных фишек из коробки (скидки, купоны, акции итд). Из минусов.. после Друпала где можно из своего модуля переопределить все и вся любую форму, меню, представление итд мне как воздуха не хватает Друпаловской системы хуков.. Тут чтобы добавить самую обычную ссылку в меню нужно хакать код! Да почти для любого действия нужно менять код ядра. Тут это считается вполне нормальным, даже скрипт есть vQmod, который делает это с помощью xml файлов.. Слабое апи. Слабая документация. По сравнению с Друпалом где описана каждая ф-ция для каждой версии с примерами кода. Тут чтобы разобраться как все работает нужно тупо пересмотреть весь код движка (правда сделать это можно за несколько часов). Модули их достаточно много особенно на оф. сайте но почти все нормальные модули платные. По сравнению с Друпалом где больше 10000 модулей и за 2 года я не встретил ни одного платного это конечно не сильно радует. Блоки. Да, такого понятия как друпаловский блок тут наверное и нету. Есть понятие модуль с помощью которого можно создать блок (напр. последние товары) и разместить где-то на сайте. Есть модуль (вроде html называется) который позволяет создавать текстовые блоки. А насчет минимализма - с одной стороны это даже хорошо. Если навесить хук на каждое действие то в результате может получиться что-то похожее на тот же Друпал.. и по скорости работы и по сложности обучения.
  24. Да похоже что оно! Спасибо! По первому пункту есть модуль, это хорошо.
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.