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

sv2109

Users
  • Posts

    3,690
  • Joined

  • Last visited

Everything posted by 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. ну да.. был бы у меня свой русский IP.. куда проще было бы :)Тут еще один вариант надумал, я живу возле границы с Польшей, куча народу туда постоянно ездит за товарами. Возможно попросить кого-то чтобы открыл карточку в каком-то польском банке. Тогда ее по идее можно будет прикрепить в пейпал и не только получать но и выводить на нее деньги..
  15. Тема заглохла? Кто как вышел из ситуации? Что сделал я. Воспользовался советом от Фрилансера. 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. Да, все правильно. Я именно с этого и начал. Взял, на мой взгляд. самое слабое место ОС - невозможность что-либо переопределить без правки кода движка. Придумал реализацию системы хуков и событий. И создал для обсуждения именно этой проблемы эту тему. После чего тема превратилась "чего кому не хватает в ОС" :)Нужно создать отдельную тему для обсуждения всех слабых мест. И каждое такое место обсуждать в отдельной теме, возможно даже в нескольких если есть несколько альтернативных решений.
×
×
  • 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.