Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 06.12.2019, 18:16
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Победил я таки вывод опций в списке товаров. Добавил ещё вывод необходимых атрибутов (характеристик). С ними проще было. Решение заслуживает отдельной статьи, а времени как обычно нет.
Ответить с цитированием
  #32 (permalink)  
Старый 09.12.2019, 17:44
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

В Opencart иногда встречается небольшое представление в контроллерах.
Сейчас снова попалось:
$children_data[] = array(
	'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
	'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);


Меня например бесило, что количество товаров в детях категории прыгало на другую строчку. Особенно если количество равно нулю. Пришлось в контроллере в этом месте вставить ` `. По-хорошему надо переписать по человечески, но как обычно время поджимает, да и никто этого всё равно не оценит ))
Ответить с цитированием
  #33 (permalink)  
Старый 09.12.2019, 22:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Триви
По-хорошему надо переписать по человечески
Разработчикам движка и его фанатам в общем-то все равно по человечески или по зверски вы поступаете. А вот если вы захотите использовать некое расширение, темы и их шаблоны, вот тогда уже вы можете быть в пролете. Поэтому - есть css и шаблоны, а если необходимо, то можно и контроллеры и модели, но делать это надо через модификаторы.
Ответить с цитированием
  #34 (permalink)  
Старый 10.12.2019, 17:07
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Сообщение от laimas Посмотреть сообщение
если вы захотите использовать некое расширение, темы и их шаблоны, вот тогда уже вы можете быть в пролете. Поэтому - есть css и шаблоны, а если необходимо, то можно и контроллеры и модели, но делать это надо через модификаторы.
Вот. Модификаторы я вообще не трогал. А в контроллерах немного подшаманил. Ну и js пришлось тоже поправить и ещё написать один метод для добавления в корзину товаров из списка.

У меня такой вопрос. Мне нужно будет реализовать следующий функционал:
- Сделать список подарков. Я так понимаю, это просто товары, помещённые в раздел `Подарки`.
- Если сумма в корзине достигает определённого значения, то предлагать на выбор эти подарки.

Я полагаю, что такие модули уже давно кем-то написаны. А то я буду несколько месяцев его писать, а мне проект сдавать уже через месяц. Есть такой опыт? Не подскажешь(-те) какой модуль выбрать? И ещё.. сторонние модули не переписывают штатные контроллеры и модели? Ну и в js желательно чтобы тоже не лезли, а подключали свой.
Ответить с цитированием
  #35 (permalink)  
Старый 10.12.2019, 18:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Триви
Модификаторы я вообще не трогал. А в контроллерах немного подшаманил.
сторонние модули не переписывают штатные контроллеры и модели? Ну и в js желательно чтобы тоже не лезли, а подключали свой.
Не модификаторы "трогают", их могут обновлять авторы, это модификаторы модифицируют исходники. То есть, чтобы что-то расширить или при добавлении модуля изменить поведение в какой либо базовой модели/контроллера, используют не измененный базовый исходный код, а его измененный модификатором код, который будет кеширован и использоваться. А базовый остается не тронутым и не работать.

Если вы читали о модификаторах, значит должны знать, что можно найти строку кода в исходнике, заменить ее другим кодом, который и будет выполняться. А можно указать заменить строки после найденной, вставить после найденной.

Допустим вы заменили какую либо строку непосредственно в исходнике. Затем вы установили некое расширение, которое при этом будет модифицировать в том числе и код исходника, который вы изменили, и как раз касающийся строки которую вы изменили. Если требуется замена, то в зависимости от ситуации в лучшем случае будет отказ и расширение не добавиться, в худшем случае добавится и будут ошибки. Ну а если поиск будет до измененной строки с заменой после нее, то все ваши изменения будут вырезаны из исходника и не будут работать, а значит гарантированы ошибки уже вами заложенные.

И это касается всего и js в том числе.

Сообщение от Триви
Я так понимаю, это просто товары, помещённые в раздел `Подарки`.
Среди базовых я такого не знаю, есть бонусы и прочая хрень, а о подарках сказать ничего не могу. Я вообще не фанат каких либо CMS, заниматься ими на постоянной основе забросил давно, ибо рано или поздно появляется чувство, что начинаешь тупеть. Не всегда соглашаюсь на работу связанную с ними. Сейчас как раз тот случай с opencart, когда делаю это, и в нем как раз ситуация, когда после очередного обновления добавления, автор его допустил ошибки, и вылазят баги в разных местах.

Здесь же, с форума, выполнял заказ, когда заказчик не понимая назначения этой CMS взял ее для своего сайта, а она даже на 10% и то не подходит под его задачи. Вот в этом случае, дешевле для него было бы, это заблокировать весь ненужный хлам opencart, переписав начисто код двух контроллеров и шаблонов, ну и немного моделей, и новый js, чем разрабатывать стратегию и писать новый модуль, а им то нужно еще и из админки управлять. Но у него специфическая задача и ему никогда и не потребуется добавлять что-то новое, так что ничего не слетит у него. Так что тут уж не мне судить, что будет дальше у вас, вам виднее.

Последний раз редактировалось laimas, 10.12.2019 в 19:36.
Ответить с цитированием
  #36 (permalink)  
Старый 13.12.2019, 20:16
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Сообщение от laimas Посмотреть сообщение
Если вы читали о модификаторах, значит должны знать, что можно найти строку кода в исходнике, заменить ее другим кодом, который и будет выполняться. А можно указать заменить строки после найденной, вставить после найденной.

Допустим вы заменили какую либо строку непосредственно в исходнике. Затем вы установили некое расширение, которое при этом будет модифицировать в том числе и код исходника, который вы изменили, и как раз касающийся строки которую вы изменили. Если требуется замена, то в зависимости от ситуации в лучшем случае будет отказ и расширение не добавиться, в худшем случае добавится и будут ошибки. Ну а если поиск будет до измененной строки с заменой после нее, то все ваши изменения будут вырезаны из исходника и не будут работать, а значит гарантированы ошибки уже вами заложенные.

И это касается всего и js в том числе.
Потом обязательно разберусь с этим. Сейчас я просто правлю исходники - времени нет нифига. Я имел ввиду не модификаторы не трогал, а модели. Перепутал. Я немного изменил один контроллер. Вернуть назад не проблема и реализовать потом через модификаторы. Что же касается js и css за пределами папки с темой, тут я достаточно под себя поправил. Веселье начнётся, когда я стану с подарками работать. Я нашёл такой модуль, но он под 2.x
Свяжусь с автором, попрошу поправить под третью версию. По-другому никак. Опыта написания модулей под оупенкарт, как вы понимаете, у мня нет.
Ответить с цитированием
  #37 (permalink)  
Старый 13.12.2019, 20:22
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Снова в движке косяк.

В пустой дискрипшн категории добавляется `<p><br></p>`.
Не знаю какой в этом тайный эротический смысл.

Пришлось в шаблоне прописать:
{% if description and description != "<p><br></p>" %}
<div class="col-sm-10">{{ description }}</div>
{% endif %}</div>


Хотя так и чешутся руки сделать в php данную проверку.
Ответить с цитированием
  #38 (permalink)  
Старый 14.12.2019, 02:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Триви
Что же касается js и css за пределами папки с темой, тут я достаточно под себя поправил.
Нет, подключаемые файлы никто и не станет править через модификатор. Но с ними то проще, подключайте еще и свои.

Последний раз редактировалось laimas, 14.12.2019 в 03:12.
Ответить с цитированием
  #39 (permalink)  
Старый 16.12.2019, 18:55
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Для редактирования текста Opencart использует редактор Summernote.
Хотел немножко стили под себя подправить, иду сюда admin/view/javascript/summernote/summernote.css
Открываю стили, а они сборщиком минифицированы.
Вот на хрена так спрашивается делать, блин?
Ответить с цитированием
  #40 (permalink)  
Старый 16.12.2019, 19:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Триви
Вот на хрена так спрашивается делать, блин?
Это правильный подход убирать мусор из фйлов, на этом выигрывают приличные размеры. А в CSS вся "мумификация", это удаление лишних пробелов, табуляции и прочее. Восстановить его удобный вид не проблема.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с многомерным массивом dima*** Общие вопросы Javascript 8 03.04.2013 00:04