Dotrox Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 Количество товаров Это не баг.. Это наследство... В поздних версиях этого нет? Это действительно не баг, а просто тупость. Такое можно встретить у школьников, которые не до конца понимают, как работает их код. В двойке то это исправили, но сколько лет оно жило в ОК. И вопрос же не в том, что это, а в том, как пользоваться магазином, где не выключается подсчёт товаров. И чтоб получить из-за этого подсчёта нереальные тормоза не нужно 200к товаров - даже на 2к эффект будет уже хорошо заметен. про сайтмап существует - принцип - формирования output Есть спрос на карту изображений Нате вам приблизительный интсрумент И опять же, вопрос не в том, зачем там добавились изображения, а в том, как пользоваться картой сайта... которая не работает вообще? Это .. система учета. ОК - торговая площадка, а не система учета. Работающая в реалиях ихнего мира. Основная аудитория ОК как раз те, для кого он ещё и система учёта. Либо он, либо экселевский файл. Ну, и дело не только в том, что положившись только на учёт в ОК можно получить кашу - как минимум он просто может показывать не в наличии товары, которые есть в наличии и, как результат, потеря продаж этих товаров даже, если у тебя идеальный учёт в Экселе (либо где угодно, но без двухсторонней онлайн синхронизации). Кстати, на счёт реалий их мира: их мир - это Китай. Дэниэль хоть и британец, но уже не первый год живёт в Китае и именно в Азии ОК наиболее популярен. Ты еще скажи что система учета НДС неверная. Хоть с этим сталкиваться не приходилось. Но там, вроде, тоже по слухам без багов не обошлось. Надіслати Поділитися на інших сайтах More sharing options...
JohnnyVega Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 Кстати, на счёт реалий их мира: их мир - это Китай. Дэниэль хоть и британец, но уже не первый год живёт в Китае и именно в Азии ОК наиболее популярен. Я думаю всё гораздо прозаичнее. :-D Даниэль зарегал свою контору в Гонконге. Гонконг хоть и является с недавних пор территорией Китая, но по факту весьма условно её является (гуглите) и всю жизнь до этого был колонией Великобритании. Соответственно, знакомый язык, знакомые нравы и законы. Но с одним существенным плюсом. Налоги. В Гонконге: Экономика территории основывается на свободном рынке, низком налогообложении и невмешательстве государства в экономику. Гонконг не является офшорной территорией, это свободный порт и не взимает таможенных сборов на импорте, там нет налога на добавленную стоимость или его эквивалентов То бишь, в Гонконге существенно меньше налоги по сравнению с Великобританией и ЕС. Вот и всё. 8-) именно в Азии ОК наиболее популярен Обратно-таки азиатов количественно больше + опенкарт бесплатный + несложный в освоении. В бедных странах (страны Азии, бывшие страны СССР(СНГ) и т.д.) популярностью пользуется не то, что хорошее и качественное, а то, что дешёвое и доступное. Качество не на первом месте... Например, люди покупают мебель из ДСП не потому что она лучше мебели из дерева, а потому что дешевле(соответственно доступней жителю бедной страны) Надіслати Поділитися на інших сайтах More sharing options... JohnnyVega Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 Для модулей и так места хватит. Сравнить, например, что есть из коробки в ОК и в ПрестаШоп. ОК до коробочного состояния ПрестаШопа модулями пихать и пихать. Но там другая беда: излишне сложный код и огромная прожорливость на любом количестве товаров (особенность архитектуры). Так вот, если коробочный функционал настолько беден по сравнению с конкурентами, почему бы не сделать, чтоб хоть то, что есть, работало нормально? Мне кажется, разработчику просто должно быть стыдно, если его продукт для нормальной работы требует посторонних модулей, которые просто приводят и так имеющийся функционал в приемлемый для реального использования вид. По логике так. Но имеем то, что имеем... Возможно, потому что Даниэль в первую очередь добавляет в Опенкарт блестяшки/свистелки, которые привлекут новых пользователей. Пример с бутстрапом и адаптивностью во 2-й ветке. Соответственно, новые пользователи после первых восторженных охов и вздохов, немного поработав с системой, следующим шагом пойдут допиливать свой конструктор с помощью модулей. Ну и далее ПРОФИТ Возможно, просто у него на всё времени не хватает... И процесс идёт по принципу: хоть как-то работает? ну и ладно. оптимизируем потом. Кому сильно не нравиться - купит модуль или допилит сам... ХЗ какими принципами он руководствуется Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 (змінено) Возможно, просто у него на всё времени не хватает... Ну, так на то и есть опенсорс, чтоб пользоваться помощью сообщества. Вот только он ею довольно грубо пренебрегает: на гитхабе можно найти кучу пулл реквестов, которые либо молча отклонены, либо отклонены с комментарием типа "плохая идея". Так можно на форуме ответить, но когда человек уже потратил время и предлагает готовое решение, а не просто озвучил хотелку, не объяснить причину отклонения - это уже грубость и неуважение к сообществу. Вот пример молча отклонённого пулл реквеста, который просто фиксит баг, а не вносит какие-нибудь спорные изменения: https://github.com/opencart/opencart/pull/4984 А вот молча отклонённый пулл реквест, который добавляет в ОК чуточку так ненавистного Дэниэлю DRY: https://github.com/opencart/opencart/pull/4974 Кстати, там неплохая идея, как хоть немного сократить простыни кода во многих контроллерах. У кого после многочисленных таких примеров возникнет желание контрибутить в ОК? Змінено 5 грудня 2016 користувачем Dotrox 1 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 У меня есть желание делать магазины. И не задавать глупыец вопросы. 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, да пребудут с вами боги Цифрового мира. Конкретно для меня он не подошел. И дело не в том, что код не документирован, двойные конфиги и прочая ерунда. Дело во времени и удобстве работы. Композер, namespase , лайауты, вьюхи для отдельных блоков, архитектура hmvc и многое другое. Вот установлен у меня в ОК шаблон, платный лицензионный. И потребовалось мне изменить размер иконки в верхнем меню. Да в рот компот : system\storage\modification\catalog\controller\common\header.php -> портянка на 490 строк кода и где-то там формируется размер иконки. Я 7 раз щелкнул мышкой, и вникал в код, потратив кучу времени. Справедливости ради, в базовом header.php 173 строчки кода, но так не пишут, ЭТО СТРОГО МОЕ ИМХО!!!. Например, отрывок кода $data['text_shopping_cart'] = $this->language->get('text_shopping_cart'); $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL')); $data['text_account'] = $this->language->get('text_account'); $data['text_register'] = $this->language->get('text_register'); $data['text_login'] = $this->language->get('text_login'); $data['text_order'] = $this->language->get('text_order'); $data['text_transaction'] = $this->language->get('text_transaction'); $data['text_download'] = $this->language->get('text_download'); $data['text_logout'] = $this->language->get('text_logout'); $data['text_checkout'] = $this->language->get('text_checkout'); $data['text_page'] = $this->language->get('text_page'); $data['text_category'] = $this->language->get('text_category'); $data['text_all'] = $this->language->get('text_all'); $data['home'] = $this->url->link('common/home'); $data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL'); $data['logged'] = $this->customer->isLogged(); $data['account'] = $this->url->link('account/account', '', 'SSL'); $data['register'] = $this->url->link('account/register', '', 'SSL'); $data['login'] = $this->url->link('account/login', '', 'SSL'); $data['order'] = $this->url->link('account/order', '', 'SSL'); $data['transaction'] = $this->url->link('account/transaction', '', 'SSL'); $data['download'] = $this->url->link('account/download', '', 'SSL'); $data['logout'] = $this->url->link('account/logout', '', 'SSL'); $data['shopping_cart'] = $this->url->link('checkout/cart'); $data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL'); $data['contact'] = $this->url->link('information/contact'); $data['telephone'] = $this->config->get('config_telephone'); Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Для примера: качнул на пробу бетку, не самой распространенной на сегодня CMS ИМ на yii2. Максимальных уровней вложенности для рабочих файлов - 3. Все модули в одном месте: тут тебе и контроллер, и модель, и вьюха для модуля. Все виджеты тоже в одном месте. Что-то добавить намного проще, чем в OK. Я не трачу время на клики мышки, листание портянок кода и ужасание. Я хочу нормально работать. Например в DefaultController - 111 строк кода!!!!! 111 Карл!!!! 111 по стандарту кодирования, принятого данным сообществом: все {}, (), [] с новой строчки Да это бетка. Но как разработчику, мне проще влезть в код, чем в ОК. И нервная система будет целее. Так что как то так. Резюме: 1. Я не считаю себя суперразработчиком, к меня много дыр в знаниях, но на середнячка я тяну. 2. Я лентяй, мне лень тыкать мышкой и листать портянки 3. Мне дорога моя нервная система, я привык работать в удовольствие, а не испытывать когнитивный диссонанс от кода 4. Я не говорю, что в ОК всё плохо - я высказываю свое личное мнение - ИМХО, которое никому не наваливаю 5. Мне проще в том, что я только начал искать платформу для ИМ и могу привередничать. Огромное спасибо @Dotrox, за комменты, и @toporchillo, за книгу. Всем удачи! И удовольствия от работы! Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 $data = array(); $data += $this->load->language('common/header'); и дальше sprintf Надіслати Поділитися на інших сайтах More sharing options... jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 на одного конкурента меньше Надіслати Поділитися на інших сайтах More sharing options... kvr66 Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 да всем пофиг на то что сэр proctoleha не будет работать с ОК. на одного конкурента меньше ну как так можно, сердца у вас нет. :cry: человек пришел, с новыми веяниями, старался внести свежею кровь, а вы так с ним поступаете - ПОФИГ - одумайтес !!!! :-D Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Почитал - посмеялся :-D Особенно с гиперактивности ТС (вы очень зациклились на своем "любимом" fw (на котором надо пилить и пилить, чтобы хоть немного приблизиться к opencart), при этом не сделав ничего на opencart еще) Явно ТС не хватает опыта работы с e-commerce решениями. Насчет sitemap и т.п. Коллеги любому нагруженному проекту - надо оптимизация. Это как "закон". Сделать универсальное решение под нагрузку невозможно. Реальной альтернативы opencart и magento (presta и "недоwpwoo" даже не рассматриваем по причине говно архитектуры) в php e-commerce нету Как я люблю говорить: "и на солнце пятна есть", также по magento и oc - идеальных нету. У opencart свои достоинства, у magento свои. Но общее у них то, что у них современная архитектура (не путать с кодом) Как по мне архитектура magento излишне перегружена, при том что по функционалу почти равны. У каждого своя ниша. Вот и всё. Нету альтернатив. Покажите php e-commerce решение лучше opencart или magento ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
JohnnyVega Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 Для модулей и так места хватит. Сравнить, например, что есть из коробки в ОК и в ПрестаШоп. ОК до коробочного состояния ПрестаШопа модулями пихать и пихать. Но там другая беда: излишне сложный код и огромная прожорливость на любом количестве товаров (особенность архитектуры). Так вот, если коробочный функционал настолько беден по сравнению с конкурентами, почему бы не сделать, чтоб хоть то, что есть, работало нормально? Мне кажется, разработчику просто должно быть стыдно, если его продукт для нормальной работы требует посторонних модулей, которые просто приводят и так имеющийся функционал в приемлемый для реального использования вид. По логике так. Но имеем то, что имеем... Возможно, потому что Даниэль в первую очередь добавляет в Опенкарт блестяшки/свистелки, которые привлекут новых пользователей. Пример с бутстрапом и адаптивностью во 2-й ветке. Соответственно, новые пользователи после первых восторженных охов и вздохов, немного поработав с системой, следующим шагом пойдут допиливать свой конструктор с помощью модулей. Ну и далее ПРОФИТ Возможно, просто у него на всё времени не хватает... И процесс идёт по принципу: хоть как-то работает? ну и ладно. оптимизируем потом. Кому сильно не нравиться - купит модуль или допилит сам... ХЗ какими принципами он руководствуется Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 (змінено) Возможно, просто у него на всё времени не хватает... Ну, так на то и есть опенсорс, чтоб пользоваться помощью сообщества. Вот только он ею довольно грубо пренебрегает: на гитхабе можно найти кучу пулл реквестов, которые либо молча отклонены, либо отклонены с комментарием типа "плохая идея". Так можно на форуме ответить, но когда человек уже потратил время и предлагает готовое решение, а не просто озвучил хотелку, не объяснить причину отклонения - это уже грубость и неуважение к сообществу. Вот пример молча отклонённого пулл реквеста, который просто фиксит баг, а не вносит какие-нибудь спорные изменения: https://github.com/opencart/opencart/pull/4984 А вот молча отклонённый пулл реквест, который добавляет в ОК чуточку так ненавистного Дэниэлю DRY: https://github.com/opencart/opencart/pull/4974 Кстати, там неплохая идея, как хоть немного сократить простыни кода во многих контроллерах. У кого после многочисленных таких примеров возникнет желание контрибутить в ОК? Змінено 5 грудня 2016 користувачем Dotrox 1 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 У меня есть желание делать магазины. И не задавать глупыец вопросы. 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, да пребудут с вами боги Цифрового мира. Конкретно для меня он не подошел. И дело не в том, что код не документирован, двойные конфиги и прочая ерунда. Дело во времени и удобстве работы. Композер, namespase , лайауты, вьюхи для отдельных блоков, архитектура hmvc и многое другое. Вот установлен у меня в ОК шаблон, платный лицензионный. И потребовалось мне изменить размер иконки в верхнем меню. Да в рот компот : system\storage\modification\catalog\controller\common\header.php -> портянка на 490 строк кода и где-то там формируется размер иконки. Я 7 раз щелкнул мышкой, и вникал в код, потратив кучу времени. Справедливости ради, в базовом header.php 173 строчки кода, но так не пишут, ЭТО СТРОГО МОЕ ИМХО!!!. Например, отрывок кода $data['text_shopping_cart'] = $this->language->get('text_shopping_cart'); $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL')); $data['text_account'] = $this->language->get('text_account'); $data['text_register'] = $this->language->get('text_register'); $data['text_login'] = $this->language->get('text_login'); $data['text_order'] = $this->language->get('text_order'); $data['text_transaction'] = $this->language->get('text_transaction'); $data['text_download'] = $this->language->get('text_download'); $data['text_logout'] = $this->language->get('text_logout'); $data['text_checkout'] = $this->language->get('text_checkout'); $data['text_page'] = $this->language->get('text_page'); $data['text_category'] = $this->language->get('text_category'); $data['text_all'] = $this->language->get('text_all'); $data['home'] = $this->url->link('common/home'); $data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL'); $data['logged'] = $this->customer->isLogged(); $data['account'] = $this->url->link('account/account', '', 'SSL'); $data['register'] = $this->url->link('account/register', '', 'SSL'); $data['login'] = $this->url->link('account/login', '', 'SSL'); $data['order'] = $this->url->link('account/order', '', 'SSL'); $data['transaction'] = $this->url->link('account/transaction', '', 'SSL'); $data['download'] = $this->url->link('account/download', '', 'SSL'); $data['logout'] = $this->url->link('account/logout', '', 'SSL'); $data['shopping_cart'] = $this->url->link('checkout/cart'); $data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL'); $data['contact'] = $this->url->link('information/contact'); $data['telephone'] = $this->config->get('config_telephone'); Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Для примера: качнул на пробу бетку, не самой распространенной на сегодня CMS ИМ на yii2. Максимальных уровней вложенности для рабочих файлов - 3. Все модули в одном месте: тут тебе и контроллер, и модель, и вьюха для модуля. Все виджеты тоже в одном месте. Что-то добавить намного проще, чем в OK. Я не трачу время на клики мышки, листание портянок кода и ужасание. Я хочу нормально работать. Например в DefaultController - 111 строк кода!!!!! 111 Карл!!!! 111 по стандарту кодирования, принятого данным сообществом: все {}, (), [] с новой строчки Да это бетка. Но как разработчику, мне проще влезть в код, чем в ОК. И нервная система будет целее. Так что как то так. Резюме: 1. Я не считаю себя суперразработчиком, к меня много дыр в знаниях, но на середнячка я тяну. 2. Я лентяй, мне лень тыкать мышкой и листать портянки 3. Мне дорога моя нервная система, я привык работать в удовольствие, а не испытывать когнитивный диссонанс от кода 4. Я не говорю, что в ОК всё плохо - я высказываю свое личное мнение - ИМХО, которое никому не наваливаю 5. Мне проще в том, что я только начал искать платформу для ИМ и могу привередничать. Огромное спасибо @Dotrox, за комменты, и @toporchillo, за книгу. Всем удачи! И удовольствия от работы! Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 $data = array(); $data += $this->load->language('common/header'); и дальше sprintf Надіслати Поділитися на інших сайтах More sharing options... jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 на одного конкурента меньше Надіслати Поділитися на інших сайтах More sharing options... kvr66 Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 да всем пофиг на то что сэр proctoleha не будет работать с ОК. на одного конкурента меньше ну как так можно, сердца у вас нет. :cry: человек пришел, с новыми веяниями, старался внести свежею кровь, а вы так с ним поступаете - ПОФИГ - одумайтес !!!! :-D Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Почитал - посмеялся :-D Особенно с гиперактивности ТС (вы очень зациклились на своем "любимом" fw (на котором надо пилить и пилить, чтобы хоть немного приблизиться к opencart), при этом не сделав ничего на opencart еще) Явно ТС не хватает опыта работы с e-commerce решениями. Насчет sitemap и т.п. Коллеги любому нагруженному проекту - надо оптимизация. Это как "закон". Сделать универсальное решение под нагрузку невозможно. Реальной альтернативы opencart и magento (presta и "недоwpwoo" даже не рассматриваем по причине говно архитектуры) в php e-commerce нету Как я люблю говорить: "и на солнце пятна есть", также по magento и oc - идеальных нету. У opencart свои достоинства, у magento свои. Но общее у них то, что у них современная архитектура (не путать с кодом) Как по мне архитектура magento излишне перегружена, при том что по функционалу почти равны. У каждого своя ниша. Вот и всё. Нету альтернатив. Покажите php e-commerce решение лучше opencart или magento ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 (змінено) Возможно, просто у него на всё времени не хватает... Ну, так на то и есть опенсорс, чтоб пользоваться помощью сообщества. Вот только он ею довольно грубо пренебрегает: на гитхабе можно найти кучу пулл реквестов, которые либо молча отклонены, либо отклонены с комментарием типа "плохая идея". Так можно на форуме ответить, но когда человек уже потратил время и предлагает готовое решение, а не просто озвучил хотелку, не объяснить причину отклонения - это уже грубость и неуважение к сообществу. Вот пример молча отклонённого пулл реквеста, который просто фиксит баг, а не вносит какие-нибудь спорные изменения: https://github.com/opencart/opencart/pull/4984 А вот молча отклонённый пулл реквест, который добавляет в ОК чуточку так ненавистного Дэниэлю DRY: https://github.com/opencart/opencart/pull/4974 Кстати, там неплохая идея, как хоть немного сократить простыни кода во многих контроллерах. У кого после многочисленных таких примеров возникнет желание контрибутить в ОК? Змінено 5 грудня 2016 користувачем Dotrox 1 Надіслати Поділитися на інших сайтах More sharing options...
Yoda Опубліковано: 5 грудня 2016 Share Опубліковано: 5 грудня 2016 У меня есть желание делать магазины. И не задавать глупыец вопросы. 1 Надіслати Поділитися на інших сайтах More sharing options...
proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, да пребудут с вами боги Цифрового мира. Конкретно для меня он не подошел. И дело не в том, что код не документирован, двойные конфиги и прочая ерунда. Дело во времени и удобстве работы. Композер, namespase , лайауты, вьюхи для отдельных блоков, архитектура hmvc и многое другое. Вот установлен у меня в ОК шаблон, платный лицензионный. И потребовалось мне изменить размер иконки в верхнем меню. Да в рот компот : system\storage\modification\catalog\controller\common\header.php -> портянка на 490 строк кода и где-то там формируется размер иконки. Я 7 раз щелкнул мышкой, и вникал в код, потратив кучу времени. Справедливости ради, в базовом header.php 173 строчки кода, но так не пишут, ЭТО СТРОГО МОЕ ИМХО!!!. Например, отрывок кода $data['text_shopping_cart'] = $this->language->get('text_shopping_cart'); $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL')); $data['text_account'] = $this->language->get('text_account'); $data['text_register'] = $this->language->get('text_register'); $data['text_login'] = $this->language->get('text_login'); $data['text_order'] = $this->language->get('text_order'); $data['text_transaction'] = $this->language->get('text_transaction'); $data['text_download'] = $this->language->get('text_download'); $data['text_logout'] = $this->language->get('text_logout'); $data['text_checkout'] = $this->language->get('text_checkout'); $data['text_page'] = $this->language->get('text_page'); $data['text_category'] = $this->language->get('text_category'); $data['text_all'] = $this->language->get('text_all'); $data['home'] = $this->url->link('common/home'); $data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL'); $data['logged'] = $this->customer->isLogged(); $data['account'] = $this->url->link('account/account', '', 'SSL'); $data['register'] = $this->url->link('account/register', '', 'SSL'); $data['login'] = $this->url->link('account/login', '', 'SSL'); $data['order'] = $this->url->link('account/order', '', 'SSL'); $data['transaction'] = $this->url->link('account/transaction', '', 'SSL'); $data['download'] = $this->url->link('account/download', '', 'SSL'); $data['logout'] = $this->url->link('account/logout', '', 'SSL'); $data['shopping_cart'] = $this->url->link('checkout/cart'); $data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL'); $data['contact'] = $this->url->link('information/contact'); $data['telephone'] = $this->config->get('config_telephone'); Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Для примера: качнул на пробу бетку, не самой распространенной на сегодня CMS ИМ на yii2. Максимальных уровней вложенности для рабочих файлов - 3. Все модули в одном месте: тут тебе и контроллер, и модель, и вьюха для модуля. Все виджеты тоже в одном месте. Что-то добавить намного проще, чем в OK. Я не трачу время на клики мышки, листание портянок кода и ужасание. Я хочу нормально работать. Например в DefaultController - 111 строк кода!!!!! 111 Карл!!!! 111 по стандарту кодирования, принятого данным сообществом: все {}, (), [] с новой строчки Да это бетка. Но как разработчику, мне проще влезть в код, чем в ОК. И нервная система будет целее. Так что как то так. Резюме: 1. Я не считаю себя суперразработчиком, к меня много дыр в знаниях, но на середнячка я тяну. 2. Я лентяй, мне лень тыкать мышкой и листать портянки 3. Мне дорога моя нервная система, я привык работать в удовольствие, а не испытывать когнитивный диссонанс от кода 4. Я не говорю, что в ОК всё плохо - я высказываю свое личное мнение - ИМХО, которое никому не наваливаю 5. Мне проще в том, что я только начал искать платформу для ИМ и могу привередничать. Огромное спасибо @Dotrox, за комменты, и @toporchillo, за книгу. Всем удачи! И удовольствия от работы! Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options...
jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 $data = array(); $data += $this->load->language('common/header'); и дальше sprintf Надіслати Поділитися на інших сайтах More sharing options... jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 на одного конкурента меньше Надіслати Поділитися на інших сайтах More sharing options... kvr66 Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 да всем пофиг на то что сэр proctoleha не будет работать с ОК. на одного конкурента меньше ну как так можно, сердца у вас нет. :cry: человек пришел, с новыми веяниями, старался внести свежею кровь, а вы так с ним поступаете - ПОФИГ - одумайтес !!!! :-D Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Почитал - посмеялся :-D Особенно с гиперактивности ТС (вы очень зациклились на своем "любимом" fw (на котором надо пилить и пилить, чтобы хоть немного приблизиться к opencart), при этом не сделав ничего на opencart еще) Явно ТС не хватает опыта работы с e-commerce решениями. Насчет sitemap и т.п. Коллеги любому нагруженному проекту - надо оптимизация. Это как "закон". Сделать универсальное решение под нагрузку невозможно. Реальной альтернативы opencart и magento (presta и "недоwpwoo" даже не рассматриваем по причине говно архитектуры) в php e-commerce нету Как я люблю говорить: "и на солнце пятна есть", также по magento и oc - идеальных нету. У opencart свои достоинства, у magento свои. Но общее у них то, что у них современная архитектура (не путать с кодом) Как по мне архитектура magento излишне перегружена, при том что по функционалу почти равны. У каждого своя ниша. Вот и всё. Нету альтернатив. Покажите php e-commerce решение лучше opencart или magento ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
jvz Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 на одного конкурента меньше Надіслати Поділитися на інших сайтах More sharing options... kvr66 Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 да всем пофиг на то что сэр proctoleha не будет работать с ОК. на одного конкурента меньше ну как так можно, сердца у вас нет. :cry: человек пришел, с новыми веяниями, старался внести свежею кровь, а вы так с ним поступаете - ПОФИГ - одумайтес !!!! :-D Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Почитал - посмеялся :-D Особенно с гиперактивности ТС (вы очень зациклились на своем "любимом" fw (на котором надо пилить и пилить, чтобы хоть немного приблизиться к opencart), при этом не сделав ничего на opencart еще) Явно ТС не хватает опыта работы с e-commerce решениями. Насчет sitemap и т.п. Коллеги любому нагруженному проекту - надо оптимизация. Это как "закон". Сделать универсальное решение под нагрузку невозможно. Реальной альтернативы opencart и magento (presta и "недоwpwoo" даже не рассматриваем по причине говно архитектуры) в php e-commerce нету Как я люблю говорить: "и на солнце пятна есть", также по magento и oc - идеальных нету. У opencart свои достоинства, у magento свои. Но общее у них то, что у них современная архитектура (не путать с кодом) Как по мне архитектура magento излишне перегружена, при том что по функционалу почти равны. У каждого своя ниша. Вот и всё. Нету альтернатив. Покажите php e-commerce решение лучше opencart или magento ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
kvr66 Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 да всем пофиг на то что сэр proctoleha не будет работать с ОК. на одного конкурента меньше ну как так можно, сердца у вас нет. :cry: человек пришел, с новыми веяниями, старался внести свежею кровь, а вы так с ним поступаете - ПОФИГ - одумайтес !!!! :-D Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Почитал - посмеялся :-D Особенно с гиперактивности ТС (вы очень зациклились на своем "любимом" fw (на котором надо пилить и пилить, чтобы хоть немного приблизиться к opencart), при этом не сделав ничего на opencart еще) Явно ТС не хватает опыта работы с e-commerce решениями. Насчет sitemap и т.п. Коллеги любому нагруженному проекту - надо оптимизация. Это как "закон". Сделать универсальное решение под нагрузку невозможно. Реальной альтернативы opencart и magento (presta и "недоwpwoo" даже не рассматриваем по причине говно архитектуры) в php e-commerce нету Как я люблю говорить: "и на солнце пятна есть", также по magento и oc - идеальных нету. У opencart свои достоинства, у magento свои. Но общее у них то, что у них современная архитектура (не путать с кодом) Как по мне архитектура magento излишне перегружена, при том что по функционалу почти равны. У каждого своя ниша. Вот и всё. Нету альтернатив. Покажите php e-commerce решение лучше opencart или magento ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Почитал - посмеялся :-D Особенно с гиперактивности ТС (вы очень зациклились на своем "любимом" fw (на котором надо пилить и пилить, чтобы хоть немного приблизиться к opencart), при этом не сделав ничего на opencart еще) Явно ТС не хватает опыта работы с e-commerce решениями. Насчет sitemap и т.п. Коллеги любому нагруженному проекту - надо оптимизация. Это как "закон". Сделать универсальное решение под нагрузку невозможно. Реальной альтернативы opencart и magento (presta и "недоwpwoo" даже не рассматриваем по причине говно архитектуры) в php e-commerce нету Как я люблю говорить: "и на солнце пятна есть", также по magento и oc - идеальных нету. У opencart свои достоинства, у magento свои. Но общее у них то, что у них современная архитектура (не путать с кодом) Как по мне архитектура magento излишне перегружена, при том что по функционалу почти равны. У каждого своя ниша. Вот и всё. Нету альтернатив. Покажите php e-commerce решение лучше opencart или magento ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) Хорошо там, где нас нет. Я все время считал что opencart спроектирован ужасно в плане базы данных, потому что тривиальные выборки из базы требуют наличия джойнов, что само по себе плохо сказывается на производительности. Затем я понял что некоторые вещи просто невозможно реализовать иначе, например локализацию и понял что в целом опенкарт выглядит довольно таки неплохо. Да, есть что оптимизировать под нагрузку, и я бы избавился от пары табличек, но повторюсь - неплохо. Вот так выглядит запрос за категориями для языка с кодом 1: select c.*, cd.* from oc_category c inner join oc_category_description cd on ( c.category_id = cd.category_id and cd.language_id = 1 ) Сегодня я познал магенто и понял что опенкарт прекрасен. Вот как выглядит такой же запрос на магенто: SELECT e.entity_id as category_id, 1 as language_id, IF(at_name.value_id > 0, at_name.value, at_name_default.value) AS `name`, IF(at_description.value_id > 0, at_description.value, at_description_default.value) AS `description`, IF(at_title.value_id > 0, at_title.value, at_title_default.value) AS `meta_title`, '' as meta_h1, IF(at_meta_description.value_id > 0, at_meta_description.value, at_meta_description_default.value) AS `meta_description`, IF(at_keyword.value_id > 0, at_keyword.value, at_keyword_default.value) AS `meta_keyword` FROM magento.`catalog_category_entity` AS `e` INNER JOIN magento.`catalog_category_entity_varchar` AS `at_name_default` ON (`at_name_default`.`entity_id` = `e`.`entity_id`) AND (`at_name_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND `at_name_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'name' AND et.entity_type_code = 'catalog_category')) AND (`at_name`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_description_default` ON (`at_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND `at_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_description` ON (`at_description`.`entity_id` = `e`.`entity_id`) AND (`at_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'description' AND et.entity_type_code = 'catalog_category')) AND (`at_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_meta_description_default` ON (`at_meta_description_default`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND `at_meta_description_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_meta_description` ON (`at_meta_description`.`entity_id` = `e`.`entity_id`) AND (`at_meta_description`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_description' AND et.entity_type_code = 'catalog_category')) AND (`at_meta_description`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_text` AS `at_keyword_default` ON (`at_keyword_default`.`entity_id` = `e`.`entity_id`) AND (`at_keyword_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND `at_keyword_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_text` AS `at_keyword` ON (`at_keyword`.`entity_id` = `e`.`entity_id`) AND (`at_keyword`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_keyword' AND et.entity_type_code = 'catalog_category')) AND (`at_keyword`.`store_id` = 1) INNER JOIN magento.`catalog_category_entity_varchar` AS `at_title_default` ON (`at_title_default`.`entity_id` = `e`.`entity_id`) AND (`at_title_default`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND `at_title_default`.`store_id` = 0 LEFT JOIN magento.`catalog_category_entity_varchar` AS `at_title` ON (`at_title`.`entity_id` = `e`.`entity_id`) AND (`at_title`.`attribute_id` = (SELECT attribute_id FROM `eav_attribute` ea LEFT JOIN `eav_entity_type` et ON ea.entity_type_id = et.entity_type_id WHERE `ea`.`attribute_code` = 'meta_title' AND et.entity_type_code = 'catalog_category')) AND (`at_title`.`store_id` = 1); ТС!!!! Вернитесь!!! 1 Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 (змінено) Покажите php e-commerce решение лучше opencart или magento ? Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола Змінено 6 грудня 2016 користувачем proctoleha 1 Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Только не бейте меня :) ТС!!!! Вернитесь!!! Да, у magento избыточно сложная архитектура (на "все случаи жизни", причем 90% которых практически не встречаются), что тянет за собой вот такие перлы. А у opencart нет ничего лишнего в принципе. При том что функциональность от этого не страдает. Да скажем так - еще гибче из-за простоты архитектуры Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше? Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас. Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем. Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола ТС все что я понял - у вас излишняя гиперактивность и куча демагогии. А опыта в e-commerce - ноль Так что лучше идите и пилите "гири" подальше от opencart и magento Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Надіслати Поділитися на інших сайтах More sharing options... proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
proctoleha Опубліковано: 6 грудня 2016 Автор Share Опубліковано: 6 грудня 2016 Вот когда рученьки устанут "пилить" - вспомните еще opencart как "манну небесную" Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Надіслати Поділитися на інших сайтах More sharing options...
deim Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Ребят, я ещё на первой странице писал, что это толстый вброс. Ну чего вы ждете? Мы с вами знаем минусы и плюсы за много лет работы. А тут словно двачи налетели. Ну тролль же чистой воды. Образованный, но тролль. И daniel бы с ним, но вы то чего? Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Raensul Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 И daniel бы с ним, но вы то чего? я пацтол :))))) Надіслати Поділитися на інших сайтах More sharing options...
Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так я писал, когда создавал свои велосипеды, и то поначалу. Сейчас такой код вызывает у меня нервную дрожь. Брр.. Только не надо в комментах спрашивать, что конкретно мне не понравилось в этом куске кода. Писать лень, всё и так очевидно. И такие куски сплошь и рядом. Всё действительно очевидно, при чём большинству на этом форуме, но для автора ОК - это принципиальный вопрос. Он считает, что без полотнищ этой лапши код станет слишком сложным. Только не бейте меня :) Ну, тут по коду очевидно, что там сама концепция сложнее намного (и богаче функциональность). Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием Но этого никогда не будет. Это особенность всех крупных CMS Ну, у него уже минималка 5.4 и через композер его начиная с версии 2.2 уже можно установить, но такие идиотские штуки, как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Кто плотно с ОК работает, оригинальный ОК никогда не использует: либо готовая сборка, либо собственная, либо собственный допил готовой. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 как лапша в каждом контроллере - это принципиальная позиция Дэниэля Керра. Ну не надо.. Так исторически сложилось И.. как ни странно - не воспринимается как нечто особенное. Это и не плохо, и не хорошо. Это есть как есть ведь можно тупо $data = $this->load->language Вот чем мне нравится ОК, грубо это имитация типизированных языков Нет переменной - ошибка Вот например события - классная штука.. Я даже за двумя руками. Но! Я неоднократно писал - событие - это теневая функция - и в случае проблем, найти источник проблемы очень сложно. А для "новичков" будет практически невозможно. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config 'language/extension/analytics/*/before' => 'event/compatibility/language', 'language/extension/captcha/*/before' => 'event/compatibility/language', 'language/extension/feed/*/before' => 'event/compatibility/language', 'language/extension/fraud/*/before' => 'event/compatibility/language', 'language/extension/module/*/before' => 'event/compatibility/language', 'language/extension/payment/*/before' => 'event/compatibility/language', 'language/extension/recurring/*/before' => 'event/compatibility/language', 'language/extension/shipping/*/before' => 'event/compatibility/language', 'language/extension/theme/*/before' => 'event/compatibility/language', 'language/extension/total/*/before' => 'event/compatibility/language' я 4 часа искал проблему - почему не подтягиваются нужные языковые переменные Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Впечатления новичка от opencart (код)
Dotrox Опубліковано: 6 грудня 2016 Share Опубліковано: 6 грудня 2016 Так исторически сложилось Каким образом? А то, что это его принципиальная позиция - это не моё мнение, а его собственные утверждения, каждый раз, когда кто-то публично делает замечания на этот счёт. То есть, он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. ведь можно тупо $data = $this->load->language И это уже будет собственная сборка, ибо глупо перелапачивать все контроллеры очищая подобным образом от лапши, если это одноразовая задача. Напрмиер в 2.1 вообще нет инструмента просмотра событий. В 2.3 они есть. Но!!!! Загляни в system/config Ну, это только очередной пример криворукой реализации чего-то в ОК. Кстати, в 2.1 события ещё не предназначены для использования. И это ещё одна особенность ОК - в релизных версиях часто появляется код какого-то нового функционала, который не готов к использованию. Например, зачатки кода редактирования заказа в админке были, вроде, начиная с 1.5.0 (в 1.5.1 уже точно были), но работать оно начало только в 1.5.3 и ещё до 1.5.5, а то и 1.5.6 там была куча багов. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 он прямо так и заявляет, что избавление от лапши сделает код слишком сложным. В принципе он верно говорит $data = $this->load->language Загружает неизвестные переменные $data['button' = $this->load->language->get('button'); Говорит, что будет использована текстовая переменная Почувствуй прелесть типизированного языка. который не готов к использованию И что? Есть зачатки - хорошо Не ошибается тот, кто ничего не делает. Приведу пример По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину Т.е. покупая один товар, в корзине должен быть только один товар, а подарок нужно выбрать (положить)самостоятельно Но если это сделать в наших реалиях, то поднимется хай - КАК так, лишний шагТочно также и оформлением заказ, потому и 6 шагов. Реалии рынка. Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Dotrox Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Загружает неизвестные переменные Тогда есть смысл вообще от ООП отказаться - сплошная ведь неизвестность. Есть зачатки - хорошо Для зачатков есть dev ветка. Кроме того, что эти зачатки лишние на момент текущего релиза, так потом могут вообще стать редундантными, то есть код отвечающий за этот функционал буде существенно переписан на момент готовности к работе. Тут двойка как раз хороший пример - сколько в ней было мутаций, при чём даже у работающего функционала. По еврозаконам нельзя в корзину добавлять подарок если покупатель его сам не положил в корзину На самом деле, у нас тоже нельзя. Ты ведь знаешь прикол "под подарком подразумевается возможность купить за одну копейку"? Не помню, то ли это с налогами связано, то ли ещё с чем-то, но в таком формате получается, что если автоматом положить копеечный подарок в корзину, выходит своеобразное мошенничество (принуждение к покупке ненужного товара без предварительного согласия покупателя). 1 Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 7 грудня 2016 Share Опубліковано: 7 грудня 2016 Если посмотреть в контроллер, то там ООП как такового нет, потому что все прелести ООП за пределами контроллера Явная типизация + структурное программирование. Что и делает сам проект прозрачным!!! На самом деле, у нас тоже нельзя. Но нам законы не писаны :) Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 4 5 6 Вперед Сторінка 5 з 6 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Dotrox Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 все прелести ООП за пределами контроллера Да их и за его пределами как-то не особо. Одно из практических преимуществ ООП - отсутствие необходимости дублировать код. При чём, в отличии от функционального подхода (а в ОК даже он не используется), ООП позволяет переиспользовать большую часть кода даже при необходимости модификаций в отдельных случаях использования. Я считаю, что имплементация хотя бы базовых возможностей ООП (реальная, а не формальная, как сейчас) не только бы не усложнила код ОК, а наоборот упростила бы его. Надіслати Поділитися на інших сайтах More sharing options...
HyperLabTeam Опубліковано: 8 грудня 2016 Share Опубліковано: 8 грудня 2016 Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот OK, никого не хочу обидеть, всем желаю успехов, Всем удачи! И удовольствия от работы! Чоооо даваааай Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts