Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

sv2109

Пользователи
  • Публикаций

    3 690
  • Зарегистрирован

  • Посещение

Все публикации пользователя sv2109

  1. http://opencartforum....лить-категорию/ вопрос задавался 10 дней назад в этом же форуме..
  2. Для матерых профессионалов есть Друпал, Магенту и фреймворки.. А для того, чтобы понять как работает простенький класс в опенкарте достаточно открыть его файл и пройтись по коду. Если вы это сделали и не поняли код, то вам нужна не документация где все будет разжевано до немогу, а учить php.. толковых книг по этому языку в сети море.
  3. Кое-какая документация есть на оф. сайте. Если нужно что-то более подробное то просто открывайте нужный файл (контроллера или модели) и смотрите какие там есть функции, как они работают. Там все достаточно просто. Это один из плюсов этого движка. Если хотите писать свои модули то откройте любой готовый модуль и посмотрите как там все сделано.
  4. Я понимаю, что всем хочется иметь супер крутой движок, который будет очень гибким у функциональным и в тоже время иметь простой код с которым можно разобраться за пол часа.. Но увы, это утопия (если кто-то считает что нет, пусть приведет пример такой системы)А реальность такова, что чем гибче система, тем она сложнее в понимании. Взять например Друпал с его системой хуков, с помощью которых можно переопределить почти все.. но чтобы научиться программировать под эту систему нужно потратить не один месяц (а чтобы стать хорошим программистом и не один год) Друпал и Опенкарт это 2 крайности. А истина она всегда где-то посередине. Тут нужно выбрать эту золотую середину. Например, следуя правилу Паретто - 20% хуков покроет 80% потребностей, а для остальных 20% нужно будет написать еще 80% хуков. Если реализовать все то получится Друпал, супер гибкий но и очень сложный. А можно добавить всего несколько хуков и получить достаточно гибкую систему не сильно ее усложняя. Симфони диспатчер подключается с помощью нескольких строк кода, новое событие добавляется с помощью 1-2 строк кода.. все. Зачем для 10 строк кода создавать новый движок?..
  5. Если я правильно вас понял, то я делал - https://opencartforum.com/files/file/525-attribute-select/
  6. самый простой вариант, я писал тут, подключить пользовательский поиск от гугла, если нужна релевантность то это наверное лучшее что можно придумать. пс я тут еще делал для одного своего модуля маленькую модификацию стандартного поиска, добавил возможность выбирать логику поиска. По умолчанию стоит ИЛИ, а если поменять ее на И то поиск покажет только те записи у которых встречаются 2 слова.
  7. Меня больше всего удивляют люди типа: вчера установил опенкарт на Денвер, программирования не знаю, html не знаю, платить не хочу, но скажите как сделать чтобы было вот так круто как вот на этом сайте.. Прикол в том что даже если такому человеку сказать 100% правильное решение, типа напиши вот этот код вот сюда. То потом последует еще 100500 вопросов типа "а куда именно вставить", "а как вставить", "а я вставил а у меня сайт сломался и ничего не работает" итд. Именно для таких людей в первую очередь и создавалась схема. Так как считаю что общаться с такими людьми бесполезно, это пустая трата времени. Пусть или ищут готовое решение или платят кому-то за работу или учат программирование.
  8. Поэтому я и написал "Как решить 90% всех проблем", а не 100%. Для остальных 10% и есть форум, обсуждения итд.
  9. В связи с тем, что на этом форуме постоянно задают вопросы на которые хочется ответить одной и той же фразой.. Решил создать примерную блок-схему, которая поможет решить около 90% всех проблем с опенкартом: http://www.gliffy.co...ublish/4002841/ ПС Если тема размещена не в том разделе, перенесите в более подходящий.
  10. Вот вам готовый модуль http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4295 цена вопроса 50$.
  11. Импортов есть куча.. как платных так и бесплатных, воспользуйтесь поиском по модулям (тут и на оф. сайте) и берите тот который больше подойдет для ваших задач. Насчет фотографий могу предложить свой модуль.
  12. Пример реализации есть в стандартном модуле поиска, вам нужно добавить несколько своих таблиц. Тут 2 варианта:1. Если вы программист то откроете код поиска и допишите нужный функционал самостоятельно. 2. Если вы не программист то заплатите программисту который это сделает за вас. А стандартного решения, которое бы искало по всех таблицах ваших модулей (кто знает какие модули у вас установлены и какая должна быть логика поиска по ним) вы наврядли найдете.
  13. Вижу 2 варианта: 1. Дописать стандартный поиск, добавить к нему поиск по другим таблицам. 2. Подключить сторонний поиск, например от гугла. Там javascript, который нужно просто скопировать и вставить в html. Минусы - будет искать только проиндексированные страницы, реклама (которую можно убрать), плюсы - очень классный поиск с поддержкой морфологии, переводов, релевантности итд., простота установки. У меня на одном сайте он работает.
  14. sv2109

    Продажа модулей на www.opencart.com

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

    Продажа модулей на www.opencart.com

    Тема заглохла? Кто как вышел из ситуации? Что сделал я. Воспользовался советом от Фрилансера. 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 бакса, в полученной от киви смс пришел код подтверждения который нужно вписать в пейпал. Вписал, карта подтверждена. В меню есть вкладка принять платежи, выставить счет итд. Понятно незаконно и нет гарантии, что не забанят на пейпале.. но вроде лучше чем ничего. Других вариантов пока не вижу.
  16. попробуйте кеш очистить (удалить все файлы с папки vqcache), я так раз полтора часа убил потом кеш почистил - заработало..
  17. 1. Даже в том варианте, который прописан в вашем примере происходит то, о чем я писал выше - загрузка класса в переменную и последующее изменение его кода с помощью строчных функций. Просто добавьте строчку echo "modFile: " . $modFile . " - parent: " . $parent; в начало метода modifyParent класса Factory, он как раз и отвечает за изменение родительского класса. 2. Даже если бы это работало то это не вариант. Так как этот механизм создается прежде всего для модулей. А один модуль вообще ничего не может знать о других. Потому и обходятся что у них есть нормальные механизмы переопределения без правки кода.. vqmod там просто не нужен и другие подобные костыли тоже.
  18. Если бы там использовалось классическое наследование то я был бы обеими руками ЗА такой механизм. Покажите мне хоть один фреймворк или движок в котором код класса загружается в глобальную переменную с помощью file_get_contents после чего изменяется с помощью строковых функций после чего загружается с помощью потока. Это не решение, это костыль. Чем-то лучше vqmod-а, чем-то хуже то такой-же костыль. И менять один костыль на другой у меня нету вообще никакого желания. Мало того, заменить полностью один на другой скорее всего не получиться так как кто-то будет продолжать использовать vqmod, кому-то больше понравится это решение.. и придется держать на одном сайте их 2.. потому что одни модули будут работать с одним, другие с другим..
  19. Итак, 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. У меня есть сомнения насчет того как это все будет работать при нескольких десятках разных модификаций.. Мне намного бульше нравится идея с хуками и событиями. Она намного проще, прозрачнее, использует общепринятые подходы, не использует стрим врапперов, не модифицирует код строковыми функциями, намного проще в работе и отладке.
  20. Я уже второй день изучаю этот модуль.. ближайшим временем отпишу что я о нем думаю..
  21. Скрипт не смог подключиться к базе данных. Возможно у вашего хостера был какой-то сбой на сервере базы данных или его перегружали. Напишите в поддержку своего хостера.
  22. Это категорически не правильно! Вся эта тема и создалась для того, чтобы найти некий аналог vqmod-а, который бы дал возможность на программном уровне без правки кода вносить изменения. А тут предлагается полный аналог vqmod-a, мало того имели 1 vqmod, а теперь получим целых 2..
  23. Вы бы это вынесли в отдельную тему. Так и эта тема была бы чище и отклик получили бы больший. По доке. Спорный вопрос. Пользы с нее было бы больше если бы в коде использовались правильные комментарии с использование @param, @return, @var, @todo итд. Подобные док креаторы их вроде подхватывают. А так.. посмотреть, что все контроллеры наследуются от главного контроллера, это и так известно. Та и работать со структурой приходится редко, в основном нужен какой-то конкретный класс, который мне например удобнее открыть в редакторе (у меня NetBeans IDE 7.2), который во вкладке Навигатор покажет список всех методов и свойств этого класса, а по клику можно перейти к конкретному методу и посмотреть его код. Это мое мнение. Но в любом случае за проделанную работу плюсую.
  24. Да, все правильно. Я именно с этого и начал. Взял, на мой взгляд. самое слабое место ОС - невозможность что-либо переопределить без правки кода движка. Придумал реализацию системы хуков и событий. И создал для обсуждения именно этой проблемы эту тему. После чего тема превратилась "чего кому не хватает в ОС" :)Нужно создать отдельную тему для обсуждения всех слабых мест. И каждое такое место обсуждать в отдельной теме, возможно даже в нескольких если есть несколько альтернативных решений.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.