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

OpenCart 3.0.0.0


Recommended Posts

On 08.11.2017 at 3:24 PM, chukcha said:

Если Даниелю и не знаком, то кто вас заставляет делать портянки?

Чтобы избавиться от портянок, это все вьюхи надо переделывать. А вот тащить в каждую вьюху, например, "breadcrumbs" это идиотизм как минимум. Почему бы этот самый breadcrumb не вынести в отдельную вьюху, а самом соде потом использовать просто {{ breadcrumb }}. а в коде всего то надо будет добавить

$data['breadcrumb'] = $this->load->view('common/breadcrumb',$data['breadcrumbs']);

и таких участков много. Насчет новичков, куда проще {{breadcrumb}} чем ul>{% for...li>a[href] в каждой вьюхе. А с точке зрения архитекторы twig вообще использовать 1 базовый файл "template.twig", в котором используются все повторяемые элементы (хлебные крошки, варнинги, ерроры и т.п), а остальное вставлять блоком. Дальше взять формы в админке, это просто кошмар при наличии macro использовать в каждой форме <div class=col-sm-2..<div class=col-sm-10.. вместо того чтобы просто сделать {{ forms.text(entry,name,value) }}. не понимаю человека который переписывал вьюшки на twig. я бы просто из-за лени переделал на макросы.И это грубо неделя времени изучения опенкарт3 и твига, вызывает кучу вопросов, я понимаю когда версия первая простителен этот говнокод. ну к третьей версии в эпоху ларавела, делать такое, извините, бездарно растраченное время разработчиками.

 

  • +1 3
Надіслати
Поділитися на інших сайтах


10 минут назад, lexxkrt сказал:

Чтобы избавиться от портянок, это все вьюхи надо переделывать. А вот тащить в каждую вьюху, например, "breadcrumbs" это идиотизм как минимум. Почему бы этот самый breadcrumb не вынести в отдельную вьюху, а самом соде потом использовать просто {{ breadcrumb }}. а в коде всего то надо будет добавить


$data['breadcrumb'] = $this->load->view('common/breadcrumb',$data['breadcrumbs']);

и таких участков много.

 

Вы хоть и "новичок" но мыслите очень в правильном направлении
ДА так и надо в принципе делать
Жаль Даниэль не всегда прислушивается к "новичкам" :-D

Надіслати
Поділитися на інших сайтах

Как бы вам попонятней объяснить..

Вы путаете специализированный для разработчиков fw и опенкарт для домохозяек

Потому что  домохозяйка  может спокойно ковыряться в простыне, чем изучать macro в шаблонизаторе
копипаст рулит

 

Надіслати
Поділитися на інших сайтах

Да, копипаст рулит из версии в версию уже много лет!

Кто мешает эти портянки

        if ($query->num_rows) {
            return array(
                'product_id'       => $query->row['product_id'],
                'name'             => $query->row['name'],
                'description'      => $query->row['description'],
                'meta_title'       => $query->row['meta_title'],
                'meta_description' => $query->row['meta_description'],
                'meta_keyword'     => $query->row['meta_keyword'],
                'tag'              => $query->row['tag'],
                'model'            => $query->row['model'],
                'sku'              => $query->row['sku'],
                'upc'              => $query->row['upc'],
                'ean'              => $query->row['ean'],
                'jan'              => $query->row['jan'],
                'isbn'             => $query->row['isbn'],
                'mpn'              => $query->row['mpn'],
                'location'         => $query->row['location'],
                'quantity'         => $query->row['quantity'],
                'stock_status'     => $query->row['stock_status'],
                'image'            => $query->row['image'],
                'manufacturer_id'  => $query->row['manufacturer_id'],

заменить на компактную фразу

        if ($query->num_rows) { $output = array();  foreach ($query->row as $key => $value) $output[$key] =  $value; return $output; }

сразу отпадет необходимость в доброй половине модификаторов, которые делают в эти портянки вставки своих нестандартных полей - все поля подтянутся из базы автоматически 
 

Надіслати
Поділитися на інших сайтах

Чего вы меня уговариваете? Уговаривайте Даниеля
Я пару раз был послан.. Без аргументов.

  • +1 1
Надіслати
Поділитися на інших сайтах

4 minutes ago, ambalocha69 said:

 

заменить на компактную фразу


        if ($query->num_rows) { $output = array();  foreach ($query->row as $key => $value) $output[$key] =  $value; return $output; }

сразу отпадет необходимость в доброй половине модификаторов, которые делают в эти портянки вставки своих нестандартных полей - все поля подтянутся из базы автоматически 
 

тогда уж просто

return $query->row;

 

Змінено користувачем lexxkrt
Надіслати
Поділитися на інших сайтах


if ($query->num_rows) {
            return array(
                'product_id'       => $query->row['product_id'],
                'name'             => $query->row['name'],
                'description'      => $query->row['description'],
                'meta_title'       => $query->row['meta_title'],
                'meta_description' => $query->row['meta_description'],
                'meta_keyword'     => $query->row['meta_keyword'],
                'tag'              => $query->row['tag'],
                'model'            => $query->row['model'],
                'sku'              => $query->row['sku'],
                'upc'              => $query->row['upc'],
                'ean'              => $query->row['ean'],
                'jan'              => $query->row['jan'],
                'isbn'             => $query->row['isbn'],
                'mpn'              => $query->row['mpn'],
                'location'         => $query->row['location'],
                'quantity'         => $query->row['quantity'],
                'stock_status'     => $query->row['stock_status'],
                'image'            => $query->row['image'],
                'manufacturer_id'  => $query->row['manufacturer_id'],

И здесь пример неудачен

return $query->row и цикл не нужен

 

Попробуйте Даниеля попросить не писать портянки Запроса, а предложите контсруктор
 

 

 

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, chukcha сказал:

Чего вы меня уговариваете? Уговаривайте Даниеля
Я пару раз был послан.. Без аргументов.

А это большей части не к даниэлю. У нас есть наше общее детище, которое мы сообща развиваем - ocStore.

Кто мешает все эти замечания учитывать в нем? Или мы зациклились на локализации и на SEO-ибн-Pro и больше нам ничего не нужно? По форуму есть десятки\сотни полезных предложений по улучшению базового функционала движка.

Надіслати
Поділитися на інших сайтах

3 минуты назад, chukcha сказал:

return $query->row и цикл не нужен

Это объект, а "наверху" ждут массив

Надіслати
Поділитися на інших сайтах

12 минут назад, ambalocha69 сказал:

Кто мешает все эти замечания учитывать в нем?

Совместимость с чистым OC

Надіслати
Поділитися на інших сайтах

2 минуты назад, lexxkrt сказал:

$array =  (array) $object;

напрямую не стоит - нужно оставить "лазейку" для модификаторов.

в моем варианте 

if ($query->num_rows) { $output = array();  foreach ($query->row as $key => $value) $output[$key] =  $value; return $output; }

есть возможность вклиниться перед return $output; и изменить данные при необходимости.

 

но все это так - замечания на полях.

мое мнение: весь этот механизм "портянок" требует пересмотра. вы только представьте на сколько уменьшится объем кода моделей и контроллеров и насколько (что самое главное ИМХО) уменьшится потребность в модификаторах!

Надіслати
Поділитися на інших сайтах

7 минут назад, chukcha сказал:

Это массив

пардон, голова еще плохо соображает после температуры :-(

Надіслати
Поділитися на інших сайтах

7 минут назад, chukcha сказал:

Совместимость с чистым OC

а она есть??? после появления мультиязычности для производителей стандартные вызовы функций модели для добавления производителя дают 500 если данные идут в формате чистой ОС

Надіслати
Поділитися на інших сайтах

Это самая малость... сами знаете - правится в полтыка.

 

А вот отказ от портянок...это можно получить до головной боли.

Надіслати
Поділитися на інших сайтах

4 минуты назад, chukcha сказал:

Это самая малость... сами знаете - правится в полтыка.

а если модуль забугорный и закубленый?

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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