Рекомендуемые сообщения

ReManager    12

А что лучше использовать 3-ю версию или на 2.3 остаться и делать на ней всё и вся? Я про твиги ничего не знаю... новая версия это что-то прям из нанотехнологий и за ними будущее, или просто Создателю так скучно, что он решил изучать что-то новое и всех на это решил подсадить..?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
lexxkrt    4
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 и твига, вызывает кучу вопросов, я понимаю когда версия первая простителен этот говнокод. ну к третьей версии в эпоху ларавела, делать такое, извините, бездарно растраченное время разработчиками.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986

:)
К Даниелю!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 533
10 минут назад, lexxkrt сказал:

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


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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69

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

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

        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; }

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
lexxkrt    4
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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986
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 и цикл не нужен

 

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

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69
1 минуту назад, chukcha сказал:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69
3 минуты назад, chukcha сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
lexxkrt    4
3 minutes ago, ambalocha69 said:

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

$array =  (array) $object;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986
11 минут назад, ambalocha69 сказал:

$query->row

Это массив

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986
12 минут назад, ambalocha69 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69
2 минуты назад, lexxkrt сказал:

$array =  (array) $object;

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

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69
7 минут назад, chukcha сказал:

Это массив

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69
7 минут назад, chukcha сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69
4 минуты назад, chukcha сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    986

Речь идет о стандартном функционале

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу