Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Timber

Пользователи
  
  • Публикаций

    75
  • Зарегистрирован

  • Посещение

Посетители профиля

1 844 просмотра профиля

Достижения Timber

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Последние медали

10

Репутация

  1. Это задолго до началось. По моим ощущениям примерно совпало с выходом третьей версии. Это ведь там все эти али- и вичат-пэй добавили? А до этого из занудных помню только одного турка, который афродизиаками и шмотками из латекса торговал. Называл меня бро и выносил мозг всякими идеями, но потом куда-то пропал.
  2. Пишет, что прав у дрома на базу нет
  3. Я вот заметил за последние пару лет другую тенденцию. Если раньше с просьбами о помощи писали относительно грамотные в техническом плане люди (ну как минимум понимающие, как шаблон поправить и т.п.), то теперь идёт какой-то вал китайцев и индусов, которым приходится объяснять, как модификации обновлять. При этом, что самое забавное, если судить по обратным адресам и подписям, это не просто владельцы конечных магазинов, а студии веб-дизайна и екоммерции. Ещё классический вопрос последнее время "я расширение скачал, а инсталятор, говорит, что формат неправильный". И это с учётом того, что архив называется unzip-me-bla-bla-bla.zip. А что касается того, что ставят последнюю версию, то тут как раз всё понятно. По кнопке download она скачивается и чего народу вникать?
  4. Timber

    Twig в Opencart

    Я бы проверил, куда указывает DIR_TEMPLATE . $view . '.twig' И какой template_engine в system/config по-умолчанию стоит.
  5. точно, тогда пару лет до стабильной 4.1
  6. Опенкарт "из коробки" такого функционала не имеет. Так что если вам не поставили соответствующий модуль, то он будет определять язык в соответствии с предпочтениями браузера. Поменяйте в настройках браузера язык на английский, почистите куки и снова зайдите на сайт. Он должен будет открыться на английском.
  7. Чуть больше года назад ставил себе альфу 3.1, выглядело всё почти готовым. Даже несколько модулей под неё адаптировал. Зашёл вчера посмотреть что и как - всё вообще переделано. Появились неймспейсы, переделана загрузка шаблонизатора, расширения вынесены отдельно, по коду разбросаны комментарии о том, какие идиоты разработчики симфонии. Причём если год назад работало обновление 2.x->3.1, то теперь и это сломано. Так что такими темпами они ещё минимум год 3.1 пилить будут.
  8. можно проверить json, полученный от сервера и если он пустой, то вернуть что-то типа этого return { label: 'Ничего не найдено', value: '' } И ещё один момент. Проверку на стороне контроллера можно использовать в том случае, если значений без патины относительно немного (единичные случаи). Если же их много, то лучше добавить к запросу AND p.patina IS NOT NULL, ну или какое там значение этого поля по-умолчанию (если пустая строка, то проверяйте на неё).
  9. Ну тут зависит от подхода. Лично я стараюсь имеющиеся методы моделей ядра не трогать. Потому как какое-нибудь расширение захочет запрос переписать и развалится всё нафиг. Если что-то нужно, то лучше свой метод написать.
  10. можно и так, но тогда проще свой select написать, тем более всё равно в модель изменения вносятся
  11. Если я правильно понял, что нужно, то сделайте в этом цикле проверку на наличие нужного значения и добавляйте в результирующий json только те записи, которые имеют нужное значение foreach ($results as $result) { $json[] = array( 'product_id' => $result['product_id'], 'name' => strip_tags(html_entity_decode($result['patina'], ENT_QUOTES, 'UTF-8')), 'price' => $result['price'] ); } И зачем вообще дёргать сервер, если в поисковую строку ничего не ввели? Пусть пользователь введёт хотя-бы пару символов и тогда уже можно и к серверу обращаться.
  12. Я посмотрел. Если кроме startap.php больше их нигде не трогают, то так оно и есть. Поэтому и задал уточняющий вопрос.
  13. я примерно с этого и начинал причём, если судить по истории коммитов, пофиксили в октябре 2017. С учётом того, что 3.0.3.6 был в 2020, почему в него не вошёл этот фикс вообще непонятно.
  14. Если они в третьей ветке не поменяли полностью логику работы с кешем, то это два разных кеша. Он опрашивает кеш language, а сохраняет потом в кеш catalog.language У меня хорошо. Вот он полностью (из 3.0.3.6) opencart-3.0.3.6/upload/catalog/model/localisation/language.php <?php class ModelLocalisationLanguage extends Model { public function getLanguage($language_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "language WHERE language_id = '" . (int)$language_id . "'"); return $query->row; } public function getLanguages() { $language_data = $this->cache->get('language'); if (!$language_data) { $language_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "language WHERE status = '1' ORDER BY sort_order, name"); foreach ($query->rows as $result) { $language_data[$result['code']] = array( 'language_id' => $result['language_id'], 'name' => $result['name'], 'code' => $result['code'], 'locale' => $result['locale'], 'image' => $result['image'], 'directory' => $result['directory'], 'sort_order' => $result['sort_order'], 'status' => $result['status'] ); } $this->cache->set('catalog.language', $language_data); } return $language_data; } } Можете на гитхабе посмотреть https://github.com/opencart/opencart/blob/3.0.x.x_Google_Pay/upload/catalog/model/localisation/language.php Вот он же в ocStore ocStore-3.0.2.0/public/catalog/model/localisation/language.php <?php class ModelLocalisationLanguage extends Model { public function getLanguage($language_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "language WHERE language_id = '" . (int)$language_id . "'"); return $query->row; } public function getLanguages() { $language_data = $this->cache->get('language'); if (!$language_data) { $language_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "language WHERE status = '1' ORDER BY sort_order, name"); foreach ($query->rows as $result) { $language_data[$result['code']] = array( 'language_id' => $result['language_id'], 'name' => $result['name'], 'code' => $result['code'], 'locale' => $result['locale'], 'image' => $result['image'], 'directory' => $result['directory'], 'sort_order' => $result['sort_order'], 'status' => $result['status'] ); } $this->cache->set('catalog.language', $language_data); } return $language_data; } }
  15. Правильно я понимаю, что $this->config->get('config_language') это код языка по-умолчанию (из конфига) $this->config->get('config_language_id') это ID языка, который используется сейчас?
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.