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

sv2109

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

    3 664
  • З нами

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

Повідомлення, опубліковані користувачем sv2109

  1. Есть модель manufacturer, в которой есть метод для получения производителя getManufacturer. Модель подключается в контроллере товара для получения хлебных крошек.

    $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);
    но тут идетнификатор производителя берется с гет переменной. А там он похоже не всегда есть. Лучше его брать с самого товара $product_info['manufacturer_id']

    $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($product_info['manufacturer_id']);
    $this->data['manufacturer_info'] = $manufacturer_info;
    
    вроде как-то так, но код не проверял.
    • +1 2
  2. Я начало сделал. Дальше это все нужно развивать, вперед! Я пока не имею достаточно времени, смогу поддержать минимум через неделю-полторы.

    Что нужно сделать:

    1. Допилить модуль :

    - нужно добавить поддерку админки,

    - сделать возможность установки через vqmod (чтобы упростить тестирование другим разработчикам)

    - добавить несколько событий через vqmod (подумать где еще кроме рендера они будут полезны), на каждое событие отдельный vqmod (чтобы проще было потом добавлять другие события другим разработчикам)

    - создать тестовый модуль с примерами использования событий.

    - написать документацию (рус, анг)

    2. Протестировать все

    3. Выложить на оф сайт и если все нормально сделать то я уверен подтянутся другие разработчики, так как ниодного уважающего себя программиста не может устраивать vqmod, знаю таких очень много на оф.сайте.

    Вперед, кому интересно развивать тему!

    • +1 1
  3. Для матерых профессионалов есть Друпал, Магенту и фреймворки.. А для того, чтобы понять как работает простенький класс в опенкарте достаточно открыть его файл и пройтись по коду. Если вы это сделали и не поняли код, то вам нужна не документация где все будет разжевано до немогу, а учить php.. толковых книг по этому языку в сети море.

    • +1 1
  4. Кое-какая документация есть на оф. сайте. Если нужно что-то более подробное то просто открывайте нужный файл (контроллера или модели) и смотрите какие там есть функции, как они работают. Там все достаточно просто. Это один из плюсов этого движка.

    Если хотите писать свои модули то откройте любой готовый модуль и посмотрите как там все сделано.

  5. ...то надо был двиг - удобный, с кучей модулей, простой php код, потому что разработка ведется после основной работы. Joomla ненавижу, друпал, зенд и др. посмотрл код и зразу от них отказывался: для знакомства с ними надо время, которого мало. Нашел OpenCart и понеслось...

    Я понимаю, что всем хочется иметь супер крутой движок, который будет очень гибким у функциональным и в тоже время иметь простой код с которым можно разобраться за пол часа.. Но увы, это утопия (если кто-то считает что нет, пусть приведет пример такой системы)

    А реальность такова, что чем гибче система, тем она сложнее в понимании. Взять например Друпал с его системой хуков, с помощью которых можно переопределить почти все.. но чтобы научиться программировать под эту систему нужно потратить не один месяц (а чтобы стать хорошим программистом и не один год)

    Друпал и Опенкарт это 2 крайности. А истина она всегда где-то посередине. Тут нужно выбрать эту золотую середину. Например, следуя правилу Паретто - 20% хуков покроет 80% потребностей, а для остальных 20% нужно будет написать еще 80% хуков. Если реализовать все то получится Друпал, супер гибкий но и очень сложный. А можно добавить всего несколько хуков и получить достаточно гибкую систему не сильно ее усложняя.

    ...Почитав про симфони и оверрайды заинтересовался, интерестная идея, НО вам не кажется, что вы напишите столько оверрайдов и диспатчеров, что это будет больше тянуть на новый движок, чем просто дополнение к существующему коду?..

    Симфони диспатчер подключается с помощью нескольких строк кода, новое событие добавляется с помощью 1-2 строк кода.. все. Зачем для 10 строк кода создавать новый движок?..
    • +1 1
  6. самый простой вариант, я писал тут, подключить пользовательский поиск от гугла, если нужна релевантность то это наверное лучшее что можно придумать.

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

  7. Меня больше всего удивляют люди типа: вчера установил опенкарт на Денвер, программирования не знаю, html не знаю, платить не хочу, но скажите как сделать чтобы было вот так круто как вот на этом сайте..

    Прикол в том что даже если такому человеку сказать 100% правильное решение, типа напиши вот этот код вот сюда. То потом последует еще 100500 вопросов типа "а куда именно вставить", "а как вставить", "а я вставил а у меня сайт сломался и ничего не работает" итд.

    Именно для таких людей в первую очередь и создавалась схема. Так как считаю что общаться с такими людьми бесполезно, это пустая трата времени. Пусть или ищут готовое решение или платят кому-то за работу или учат программирование.

    • +1 4
  8. Тогда, получается, что этот форум вообще не нужен.

    Из этой схемы вытекают два варианта: 1. Делай сам; 2. Заплати и сделают. Нафиг здесь народ что-то спрашивает - все, у кого проблемы, пусть сразу топают на сайты фриланса.

    Господа sv2109 и Васо, не нужно таких схем. Не хотите помогать - не помогайте, вас никто не заставляет.

    да. в схеме не хватает задать вопрос, которого нет на форуме

    Поэтому я и написал "Как решить 90% всех проблем", а не 100%. Для остальных 10% и есть форум, обсуждения итд.

    • +1 1
  9. В связи с тем, что на этом форуме постоянно задают вопросы на которые хочется ответить одной и той же фразой.. Решил создать примерную блок-схему, которая поможет решить около 90% всех проблем с опенкартом:

    Изображение

    http://www.gliffy.co...ublish/4002841/

    ПС Если тема размещена не в том разделе, перенесите в более подходящий.

    • +1 5
  10. Импортов есть куча.. как платных так и бесплатных, воспользуйтесь поиском по модулям (тут и на оф. сайте) и берите тот который больше подойдет для ваших задач.

    Насчет фотографий могу предложить свой модуль.

  11. Склоняюсь к тому, чтобы дописать стандартный поиск по доп таблицам. Но не могу найти на форуме решения или примера данной реализации.

    Пример реализации есть в стандартном модуле поиска, вам нужно добавить несколько своих таблиц. Тут 2 варианта:

    1. Если вы программист то откроете код поиска и допишите нужный функционал самостоятельно.

    2. Если вы не программист то заплатите программисту который это сделает за вас.

    А стандартного решения, которое бы искало по всех таблицах ваших модулей (кто знает какие модули у вас установлены и какая должна быть логика поиска по ним) вы наврядли найдете.

    • +1 2
  12. Вижу 2 варианта:

    1. Дописать стандартный поиск, добавить к нему поиск по другим таблицам.

    2. Подключить сторонний поиск, например от гугла. Там javascript, который нужно просто скопировать и вставить в html. Минусы - будет искать только проиндексированные страницы, реклама (которую можно убрать), плюсы - очень классный поиск с поддержкой морфологии, переводов, релевантности итд., простота установки. У меня на одном сайте он работает.

  13. я регился со своего русского ip, ничего незаконного в этом нет =)

    ну да.. был бы у меня свой русский IP.. куда проще было бы :)

    Тут еще один вариант надумал, я живу возле границы с Польшей, куча народу туда постоянно ездит за товарами. Возможно попросить кого-то чтобы открыл карточку в каком-то польском банке. Тогда ее по идее можно будет прикрепить в пейпал и не только получать но и выводить на нее деньги..

  14. Тема заглохла? Кто как вышел из ситуации?

    Что сделал я. Воспользовался советом от Фрилансера.

    1. Открыл кошелек kiwi https://w.qiwi.com все делается очень просто - нужно ввести номер телефона и получить пароль с помощью смс.

    2. Создал карту Киви Виза Виртуал, для этого нужно закинуть на киви кошелек немного денег. Тут засада, так как ни с помощью вебмани, ни через Приват24, даже через приватбанковскую виза интернет это сделать нельзя.. Но можно сделать через платежный терминал с которого мобильники пополняют (бывший Ibox). Закинул 40 гривен на карту киви, перекинул все на Киви Виза Виртуал так как для прикрепления карты там снимается 1$ + 1,95$. Вернут ли их, не знаю.

    3. Поиск русского прокси. Желательно элитного. Для этого вбил в гугл "proxy lists russian" после чего найденные прокси хорошо проверять через http://www.checker.f...oxy.ru/checker/ на этом сайте и списки есть. После проверки желательно зайти на сайт http://whatismyipaddress.com/ и посмотреть действительно ли это русский IP. Когда нормальный рабочий русский прокси найден..

    4. Открыл браузер, который не использую (у меня это ФФ), прописал в настройках сети прокси. Зарегистрировался на пейпал с этого IP, регион указал Россия, адрес, индекс итд выдумал

    5. Привязал карту Киви Виза Виртуал к пейпалу. Для этого указал в пейпале данные карты, с которой сняли почти 3 бакса, в полученной от киви смс пришел код подтверждения который нужно вписать в пейпал. Вписал, карта подтверждена. В меню есть вкладка принять платежи, выставить счет итд.

    Понятно незаконно и нет гарантии, что не забанят на пейпале.. но вроде лучше чем ничего. Других вариантов пока не вижу.

    post-20996-0-03279000-1350817837_thumb.jpeg

  15. Да есть, знаю. Но у меня почемуто не хотела заменять. Пишет в логе что не может найти...

    попробуйте кеш очистить (удалить все файлы с папки vqcache), я так раз полтора часа убил потом кеш почистил - заработало..
    • +1 1
  16. ..Если прописано так как в моем примере такой необходимости нет.

    1. Даже в том варианте, который прописан в вашем примере происходит то, о чем я писал выше - загрузка класса в переменную и последующее изменение его кода с помощью строчных функций. Просто добавьте строчку echo "modFile: " . $modFile . " - parent: " . $parent; в начало метода modifyParent класса Factory, он как раз и отвечает за изменение родительского класса.

    2. Даже если бы это работало то это не вариант. Так как этот механизм создается прежде всего для модулей. А один модуль вообще ничего не может знать о других.

    но вообще разработчики всех остальных движков обходятся без vqmod :-).

    Потому и обходятся что у них есть нормальные механизмы переопределения без правки кода.. vqmod там просто не нужен и другие подобные костыли тоже.
  17. ..Механизмы загрузки наследуемых классов отработаны практически во всех приличных фрэймворках и используются сегодня повсеместно почти во всех движках ..

    Если бы там использовалось классическое наследование то я был бы обеими руками ЗА такой механизм. Покажите мне хоть один фреймворк или движок в котором код класса загружается в глобальную переменную с помощью file_get_contents после чего изменяется с помощью строковых функций после чего загружается с помощью потока. Это не решение, это костыль. Чем-то лучше vqmod-а, чем-то хуже то такой-же костыль. И менять один костыль на другой у меня нету вообще никакого желания. Мало того, заменить полностью один на другой скорее всего не получиться так как кто-то будет продолжать использовать vqmod, кому-то больше понравится это решение.. и придется держать на одном сайте их 2.. потому что одни модули будут работать с одним, другие с другим..
  18. Итак, Override Engine.

    Более-менее разобрался з этим кодом. Задачу очень усложнило то, что там используется собственный стрим врапер.. а я с ними вообще никогда не работал, начал искать что это и зачем оно тут надо, на это ушло немало времени. Плюс много времени забрали другие изощренные методы..

    Ну во-первых, как уже писали выше, для изменения шаблонов используется или str_replace или preg_replace или свой хелпер модификатор, который с помощью позиций: before, after, replace и строчных функций на лету изменяет код шаблонов. Ничего не напоминает? Правильно, тот же vqmod только без возможности кеширования и с другой реализацией..

    Дальше. Расширение классов. Для этого используется свой класс Factory, в функции которого входит поиск всех модификаций, загрузка всех классов с проверкой есть ли модификация для данного класса, если нету то загружается этот класс, если есть и она одна то загружается класс наследник (эта модификация), а если таких модификаций несколько, несколько модификаций расширяют один и тот же класс.. то ту начинается самое интересное. Загружается первый наследник с помощью require_once. А для всех следующих сначала получают их код с помощью file_get_contents потом с помощью строковых функций изменяют этот код (меняют класс родитель с базового на последнего наследника), после чего загружают это все с помощью потока, получается аналог ф-ции eval (тут более подробно)

    Сам процесс замены класса родителя реализован крайне криво. Для этого в цикле по одной букве проверяется каждый символ с помощью методов isWhiteSpace, isLetterOrUnderscore, isLetterOrNumberOrUnderscore итд.. Долго не мог понять что делает этот код пока не запустил его через отладчик. Зачем писать гору запутанного кода там где можно использовать 1 регулярное выражение..

    Итог:

    1. Для именения шаблонов используется аналог vqmod-а, тот же шарик только в профиль.

    2. Для изменения классов используется очень сомнительный подход с кривой реализацией.

    3. Добавляется еще один уровень абстракции - Фабрика, которая пропускает через себя все загрузки классов тем самый сильно все усложняет

    4. У меня есть большие сомнения насчет скорости работы всего этого

    5. Отладка. Не понятно как это все отлаживать, если несколько разных модификаторов переопределят один класс после чего что-то будет работать не так как надо, если все хранится в потоках. Мой отладчик на конструкции require_once( "var://".$var_id ); вообще вырубился..

    6. У меня есть сомнения насчет того как это все будет работать при нескольких десятках разных модификаций..

    Мне намного бульше нравится идея с хуками и событиями. Она намного проще, прозрачнее, использует общепринятые подходы, не использует стрим врапперов, не модифицирует код строковыми функциями, намного проще в работе и отладке.

    • +1 2
  19. Скрипт не смог подключиться к базе данных. Возможно у вашего хостера был какой-то сбой на сервере базы данных или его перегружали. Напишите в поддержку своего хостера.

  20. С шаблонами там оказывается предлагается через переопределение функции preRender загружать файл шаблона, править его командами типа pred_replace на лету и потом передавать на рендеринг. Такой аналог vQmod. Но при желании можно вносить таким образом изменения и в шаблоны без их физической в правки.

    Это категорически не правильно! Вся эта тема и создалась для того, чтобы найти некий аналог vqmod-а, который бы дал возможность на программном уровне без правки кода вносить изменения. А тут предлагается полный аналог vqmod-a, мало того имели 1 vqmod, а теперь получим целых 2..
×
×
  • Створити...

Important Information

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