proctoleha
-
Публікації
2 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем proctoleha
-
-
Покажите php e-commerce решение лучше opencart или magento ?
Маааленький такой вопрос: для кого лучше? Для сферического коня в ваккуме, или определенной категории потребителей, разработчиков и т.д.? Для кого Карл? Еще раз по буквам: для кого конкретно лучше?
Вот умиляют меня такие гуру: у opencart - современная архитектура. У OK - простой код. Звучит как завывания шамана. Все кто не с нами, те против нас.
Может и современная, может и код простой, но мне лично, под мои задачи, под нужный мне функционал - это не подходит, и как сообществу глубоко @@@@ть на то буду я заниматься, или не буду, так и мне также глубоко фиолетово на то, что обо мне подумают. От слова совсем.
Ни одного слова по теме - одни истеричные завывания. Зато гуру. Зажрались вы батенька. Никто вам слова поперек не говорит, а тут фигак - крамола
- 1
-
Поковырялся я в коде, почитал еще раз доки, форум, и решил, да ну его нафиг - этот 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, за книгу.
Всем удачи! И удовольствия от работы!
- 1
-
Сегодня ковырял OK ровно с той-же целью, один в один: изменить размер картинки. В моем случае размеры картинок формировались напрямую в коде контролера, причем модифицированного. Шаблон мне такой попался. Пришлось напрямую править код.
-
Что на поверхности? Что вы выявили?
Вы издеваетесь? Выявляют беременность на ранних стадиях. Я же ничего не выявлял.
-
@Dotrox, у меня сейчас поедет крыша.
Тема называется
Впечатления новичка
Еще раз по буква новичка!!! Как я могу хорошо знать ОК? Как скажите мне пожалуйста. И я вывалил то, что на поверхности. Что сразу же бросилось в гллаза.
-
Всем любителям ORM читать непременно: Тарасов С. В. "Дефрагментация мозга. Софтостроение изнутри", глава "ORM, или объектно-реляционный проектор".
Вот только ради этой ссылки стоило создать и поддерживать эту тему. Тонкости от меня ускользают, но интересно. И есть в этой книге есть такая мысль
Зачастую, ещё вчерашние новички, научившись достаточно элементарным вещам, любят порассуждать о том, что изобретение велосипедов – пустое дело...
[НО] гораздо эффективнее первое время «изобретать велосипеды», нежели сразу смотреть на готовые чужие. На чужие надо смотреть, когда придуман хотя бы один собственный, чтобы понять, насколько он несовершенен, и выяснить, каким же путём можно было бы прийти к лучшим образцам велосипедов данной модели.Золотые слова
Знания, навыки, велосипеды у меня есть. Но я, новичок без репутации, осмелился беспокоить маститых гуру своими вопросами-велосипедами! Умереть не встать. Ответы по сути поставленных вопросов можно пересчитать по пальцам на одной руке на 5-ти страницах.
Вот раньше бы я написал на албанском:
гуру - упейтесь ап стену. Но это неправильно, и я так писать не буду. Я напишу по русски: терпимее надо быть, и не надо передергивать, не надо искать кошку в темной комнате, если её там нет.Я не писал, что в OK всё плохо. Если бы это было так, ОК не стала бы тем, чем она есть. И это понятно любому внимательно читающему образованному человеку, кроме местных гуру.
-
мне кажется, ТС, что проблема в том, что Вы влетели в форум, заявили о себе, как о битом-перебитом мегаоптыном суперпрограммере и начали с того, что в ОК нужно все менять
Читать умеем?
И ткните меня в мой пост, где я писал о том, что в OK ВСЁ плохо. Что за люди, пока как у Филатова получается : всяк другого мнит ....
-
Видать маленький у вас опыт общения с серверами. Есть куча разных серверов и их комбинаций и ещё большая куча вариантов, как они могут быть настроены. Данные, которые пых берёт у веб-сервера в массив $_SERVER могут называться не так, как вы ожидаете, могут иметь не те значения, которые вы ожидаете, их просто может не быть.
Вот, например, посмотрите недавнее обсуждение связанное с $_SERVER['HTTPS']: https://opencartforum.com/topic/67981-%D1%80%D0%B5%D0%BB%D0%B8%D0%B7-ocstore-2302/?do=findComment&comment=627639 (от этого сообщения и почти до конца второй страницы).
А про конфиги это не вы писали? У вас к раздельным конфигам в ОК, оказывается, притензий нет?
Вот что мешало сразу так ответить, ведь можем же когда захотим, вот за это огромное человеческое спасибо, вопрос снят.
И про претензии. Мне может что-то нравится, не нравится, я могу очень много не знать, не понимать. И я это прекрасно осознаю. Это ненормально?
-
-
Знаете, есть всякие меньшинства, они тоже требуют прав!
Стоит задуматься!
Про меньшинства это вы про кого? Про тех несчастных, кто использует win хостинг?
А насчет стоит задуматься. Как бы вам сказать, чтобы потом не услышать очередных обвинений. Можно сказать: да клал я на всех с прибором, но это неправильный ответ.
Правильный ответ: есть такое понятие референтной группы. Пользователи, с которыми я пообщался на этом форуме, в мою референтную группу не входят, как и я в их группы. И обижаться на это просто глупо.
-
Это все мне напоминает анекдот, когда охотник стрелял в берлогу, потом чувствовал лапу медведя на плече и враскоряку уходил без добычи...
Так вот собственно вопрос: мужик, тебе магазин надо сделать, или ты охотник?
Другой бородатый анекдот слышали: про то, чем отличаются американский, еврейский и русский форумы? Я задал абсолютно конкретный вопрос, постфактум, как оказалось, я не один так думаю https://***/news/universalnyi-config.php
И ровно как в том анекдоте, мне в ответ начинают объяснять какой я мудак. На нескольких страницах.
-
Ну как же при чём?! Разве упоминая в соседней теме Yii2, вы не хотели сказать, как в ОК всё плохо по сравнению с ним (в том числе)?
Странно, что после Yii2 вы вообще упомянули про раздельные конфиги в ОК!
Каждый раз звучит слишком громко. Для меня это, пожалуй, самый маленький недостаток ОК, который абсолютно не проблема устранить самостоятельно.
Вообще всё? Всё-всё-всё? :ugeek: Я так и написал, что в OK ВСЁ!!! пллохо?
-
1. Почему конфиг плохо задавать через $_SERVER пора бы и самому знать. Про composer слышали, а про такую банальную вещь нет?
2. __DIR__ - тоже не особо здорово. Но уже по другой причине.
Этому есть объяснение. Потратьте немного времени не на тролинг, а на самообразование.
Пруфы? Мне действительно очень интересно.
В гугле нашел только это: https://***/news/universalnyi-config.php
Вообще я в курсе, что в $_SERVER содержится часть данных пришедших от клиента, и верить им нельзя. Но другая-то часть формируется самим сервером и неважно локальный он, или удаленный
-
ТС ты без работы что ли?
Начни помогать новичкам в темах
застолби за собой репутацию красссссавчика
и вперёд.
Чего бисер метать?
Да есть мне чем заняться. Вчера была сбт., сегодня воскресенье. Отдыхаю я так. А завтра начинается работа
А про бисер правильно.
-
То есть, вы считаете, если ядро общее, то и конфиг должен быть обязательно общий сколько б приложений ни было?
А с Yii2 вы, похоже, таки не знакомы, хотя в соседней теме говорили, что работали с ним.
При чём тут Yii2? Я разве про него спрашивал? И при чем тут общий вопрос о том, что если приложений много, то как я считаю по поводу ядра? А как вы относитесь к полетам на Марс? Тоже такой хороший общий вопрос.
Я спрашиваю про конкретную ситуацию с отдельно взятой CMS. И больше не про чего не спрашиваю. И почему вы не выскажете мнение по др. проблеме, не по двум конфигам, а по использованию абсолютных путей в конфигах? Их же каждый раз приходится переписывать.
-
А в Yii2 вас конфиги не смущают? :) Вот уж где действительно весело.
Смысл двух конфигов в том, что в ОК админка и каталог - два абсолютно разных приложения на общем ядре.
Ну, у вас получился довольно уродливый вариант.
Вы знаете, о существовании такой конструкции:
dirname(__DIR__)
?
Ну почему сразу уродливый? Некрасивый - это да. За подсказку спасибо - поправил. По сути ответьте пожалуйста, не забалтывайте. Я совсем недавно закинул свою локальную версию OK на два разных тестовых сервера в паблике и нигде ничего не правил. Это плохо? Да админка и каталог разные по сути приложения но на ОДНОМ ядре, как вы правильно написали
-
А суть в том, что при инсталляции сам конфиг - пустой.
И? что ему мешает быть изначально не пустым? Объясните в чем сакральный смысл? Какие-то технические проблемы? Так их нет.
-
:)
Давайте задам вопрос..
Почему в ВП имя сервера пишется в базу?
Не знаю, это для меня был шок, в свое время
-
Еще попробую побеспокоить сообщество opencart с очередным тупым вопросом.
Вот при установке системы создаются два конфиг файла: общий и для админки.
Вопросы:
1. Зачем два файла, если можно обойтись одним? Тем более во многом они друг друга дублируют.
2. Почему в этих файлах прописываются абсолютные пути?
Чем плох такой код единого конфига:
<?php $script_name = $_SERVER['SCRIPT_FILENAME']; $server = $_SERVER["SERVER_NAME"]; $dir = __DIR__; $s = strpos($script_name, 'admin'); if ( $s === false ) { define("HTTP_SERVER", 'http://' . $_SERVER["SERVER_NAME"] . '/'); define("HTTPS_SERVER", 'http://' . $_SERVER["SERVER_NAME"] . '/'); define("DIR_APPLICATION", "$dir/catalog/"); define("DIR_LANGUAGE", "$dir/catalog/language/"); define("DIR_TEMPLATE", "$dir/catalog/view/theme/"); } else { define("HTTP_SERVER", "http://$server/admin/"); define("HTTP_CATALOG", "http://$server/"); define("HTTPS_SERVER", "http://$server/admin/"); define("HTTPS_CATALOG", "http://$server/"); $dir = dirname($dir); define("DIR_APPLICATION", "$dir/admin/"); define("DIR_LANGUAGE", "$dir/admin/language/"); define("DIR_TEMPLATE", "$dir/admin/view/template/"); define("DIR_CATALOG", "$dir/catalog/"); } define("DIR_SYSTEM", "$dir/system/"); define("DIR_CONFIG", "$dir/system/config/"); define("DIR_IMAGE", "$dir/image/"); define("DIR_CACHE", "$dir/system/storage/cache/"); define("DIR_DOWNLOAD", "$dir/system/storage/download/"); define("DIR_LOGS", "$dir/system/storage/logs/"); define("DIR_MODIFICATION", "$dir/system/storage/modification/"); define("DIR_UPLOAD", "$dir/system/storage/upload/"); define("DB_DRIVER", "mysqli"); define("DB_HOSTNAME", "localhost"); define("DB_USERNAME", ""); define("DB_PASSWORD", ""); define("DB_DATABASE", ""); define("DB_PORT", "3306"); define("DB_PREFIX", "");
Лично для меня плюс в том, что я могу синхронизировать локальную и удаленную версии сайта не заморачиваясь что что у меня где: где локальная версия, где удаленная, мне не придется что-либо переписывать, если я закину локал версию на тестовый домен в инете, на продакшен ...
На любом нормальном линукс хостинге всё отработает корректно, как мне кажется
-
Вот если попробовать подвести итог неожиданно бурному обсуждение, по поводу моих тупых вопросов, то он следующий: проблема не в том, что нужно документировать, не нужно, нужно подкручивать active_record, не нужно ...
Суть в том, что opencart - это открытый бесплатный проект, и если что-то не нравится - идем на гит и форкаем. ВСЁ! Не нравится бесплатный - покупаем платный и долбаем разрабов.
-
Это ваша проблема
А пояснение по сути простое
Каждая переменная попадающая в запрос должна быть замаскирована, в приведенной вами колбасе маскирования нет
Так понятно?
Если вы действительно программист, почему вы решили, что в запрос я передаю необработанные данные? Из моего куска кода это не следует. Это именно кусок. Кода.
Вот есть такое выражение: учим матчасть. Это я так - вслух.
-
да что ж это такое
В каком месте ужасный код?
в OC ее нет?
$this->db->query - что это если не обертка?
Ну.. тут есть конечно о чем поговорить.. но это к делу не относится.
Странно, что приходится вам описывать очевидные вещи.
Вот, например, я открыл свой старый проект на CI, перешёл в каталог модели и вижу код:
public function get_ost($art) { $t = $this->db->select('ostatok')->from('prod')->where('art', $art)->get()-> row_array(); return $t['ostatok']; }
Что тут непонятного? Есть класс active_record в котором всё абсолютно прозрачно, и не надо ломать голову, читать:
$result = $this->db->query("SELECT FROM ... WHERE ..."); return $result->row();
Писать запросы руками - это стиль, древний как испражнение мамонта. Я не хочу задумываться о кавычках и подобной лабуде. Я хочу просто кодить. Осознавая и зная правила используемого языка.
-
Зачем?
При просмотре чужого "документированного" кода мне приходится листать по 2-3 страницы
Но документировать код OC не вижу смысла
Вот опять 25! Вот я начал работать с новой системой. Мне пофигу один экран, два... Я хочу прочитать и понять как что работает. Я хочу переходить к нужным мне классам/методам по одному клику и всё собственно ...
Я не хочу лезть в доки в инете, я и так всё пойму ....
-
К чему вопрос?
$i = 2 - $i;
$i++;
вам такой скрипт понятен?
Мне? да.
А кому-то потребуется его объяснять и комментировать.
1. Я отвечал не вам
2. Для тех кто в танке, без обид пожалуйста: я говорил про быстрый переход к классу/методу
Я сжую свои потные недельные носки, если вы мне покажете IDE которая на это способна без PhpDoc-ов
Впечатления новичка от opencart (код)
в Курилка
Опубліковано:
Не раньше, чем когда OK действительно будет заточен под современные реалии программирования, а не под php 5.3 2010 года выпуска. Тогда да, вернусь с удовольствием
Но этого никогда не будет. Это особенность всех крупных CMS