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

Timber

Користувачі
  
  • Публікації

    75
  • З нами

  • Відвідування

Відвідувачі профілю

1 974 перегляди профілю

Timber's Achievements

Enthusiast

Enthusiast (6/14)

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

Recent Badges

11

Репутація

  1. Это задолго до началось. По моим ощущениям примерно совпало с выходом третьей версии. Это ведь там все эти али- и вичат-пэй добавили? А до этого из занудных помню только одного турка, который афродизиаками и шмотками из латекса торговал. Называл меня бро и выносил мозг всякими идеями, но потом куда-то пропал.
  2. Я вот заметил за последние пару лет другую тенденцию. Если раньше с просьбами о помощи писали относительно грамотные в техническом плане люди (ну как минимум понимающие, как шаблон поправить и т.п.), то теперь идёт какой-то вал китайцев и индусов, которым приходится объяснять, как модификации обновлять. При этом, что самое забавное, если судить по обратным адресам и подписям, это не просто владельцы конечных магазинов, а студии веб-дизайна и екоммерции. Ещё классический вопрос последнее время "я расширение скачал, а инсталятор, говорит, что формат неправильный". И это с учётом того, что архив называется unzip-me-bla-bla-bla.zip. А что касается того, что ставят последнюю версию, то тут как раз всё понятно. По кнопке download она скачивается и чего народу вникать?
  3. Я бы проверил, куда указывает DIR_TEMPLATE . $view . '.twig' И какой template_engine в system/config по-умолчанию стоит.
  4. Опенкарт "из коробки" такого функционала не имеет. Так что если вам не поставили соответствующий модуль, то он будет определять язык в соответствии с предпочтениями браузера. Поменяйте в настройках браузера язык на английский, почистите куки и снова зайдите на сайт. Он должен будет открыться на английском.
  5. Чуть больше года назад ставил себе альфу 3.1, выглядело всё почти готовым. Даже несколько модулей под неё адаптировал. Зашёл вчера посмотреть что и как - всё вообще переделано. Появились неймспейсы, переделана загрузка шаблонизатора, расширения вынесены отдельно, по коду разбросаны комментарии о том, какие идиоты разработчики симфонии. Причём если год назад работало обновление 2.x->3.1, то теперь и это сломано. Так что такими темпами они ещё минимум год 3.1 пилить будут.
  6. можно проверить json, полученный от сервера и если он пустой, то вернуть что-то типа этого return { label: 'Ничего не найдено', value: '' } И ещё один момент. Проверку на стороне контроллера можно использовать в том случае, если значений без патины относительно немного (единичные случаи). Если же их много, то лучше добавить к запросу AND p.patina IS NOT NULL, ну или какое там значение этого поля по-умолчанию (если пустая строка, то проверяйте на неё).
  7. Ну тут зависит от подхода. Лично я стараюсь имеющиеся методы моделей ядра не трогать. Потому как какое-нибудь расширение захочет запрос переписать и развалится всё нафиг. Если что-то нужно, то лучше свой метод написать.
  8. можно и так, но тогда проще свой select написать, тем более всё равно в модель изменения вносятся
  9. Если я правильно понял, что нужно, то сделайте в этом цикле проверку на наличие нужного значения и добавляйте в результирующий 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'] ); } И зачем вообще дёргать сервер, если в поисковую строку ничего не ввели? Пусть пользователь введёт хотя-бы пару символов и тогда уже можно и к серверу обращаться.
  10. Я посмотрел. Если кроме startap.php больше их нигде не трогают, то так оно и есть. Поэтому и задал уточняющий вопрос.
  11. я примерно с этого и начинал причём, если судить по истории коммитов, пофиксили в октябре 2017. С учётом того, что 3.0.3.6 был в 2020, почему в него не вошёл этот фикс вообще непонятно.
  12. Если они в третьей ветке не поменяли полностью логику работы с кешем, то это два разных кеша. Он опрашивает кеш 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; } }
  13. Правильно я понимаю, что $this->config->get('config_language') это код языка по-умолчанию (из конфига) $this->config->get('config_language_id') это ID языка, который используется сейчас?

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

Important Information

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