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

vvpodarok

Новичок
  
  • Публикаций

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

  • Посещение

1 подписчик

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

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

Достижения vvpodarok

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

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

2

Репутация

  1. Благодарю, работает!) ага, тоже понял уже, спасибо)
  2. Как объединить в один эти запросы к двум таблицам? Я блин вообще не пойму, уже и гуглил 3 часа.. Привет всем!) class ModelLocalisationLocation extends Model { public function getLocation($location_id) { $query = $this->db->query("SELECT location_id, geocode, telephone, fax, image, open FROM " . DB_PREFIX . "location WHERE location_id = '" . (int)$location_id . "'"); $query = $this->db->query("SELECT name, address, comment FROM " . DB_PREFIX . "location_description WHERE location_id = '" . (int)$location_id . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'"); return $query->row; } }
  3. А модель setting по стандарту? можешь оттуда тоже код кинуть, пожалуйста. А то я ваще туплю жестко
  4. Мужики, хелп ми!!))), такая ситуация, имеется опенкарт 2.3 Пытаюсь сделать мультиязычность для мета полей главной страницы, но что-то беда, в базу сохраняет значение, а в поле в админке оно визуально не выводится (пусто = https://prnt.sc/shh6dv) Делал всё по аналогии из модуля блога - статьи, там мета поля мультиязычные Код admin/model/setting/setting.php Модель: В getSetting функции я вписал: foreach ($data['setting_seo'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "setting_seo SET store_id = '" . (int)$store_id . "', language_id = '" . (int)$language_id . "', config_meta_title = '" . $this->db->escape($value['config_meta_title']) . "', config_meta_description = '" . $this->db->escape($value['config_meta_description']) . "', config_meta_keyword = '" . $this->db->escape($value['config_meta_keyword']) . "'"); } В editSetting функции я вписал: $this->db->query("DELETE FROM " . DB_PREFIX . "setting_seo WHERE store_id = '" . (int)$store_id . "'"); foreach ($data['setting_seo'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "setting_seo SET store_id = '" . (int)$store_id . "', language_id = '" . (int)$language_id . "', config_meta_title = '" . $this->db->escape($value['config_meta_title']) . "', config_meta_description = '" . $this->db->escape($value['config_meta_description']) . "', config_meta_keyword = '" . $this->db->escape($value['config_meta_keyword']) . "'"); } Создал новую функцию public function getSettingSeo($store_id) { $seo_setting_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting_seo WHERE store_id = '" . (int)$store_id . "'"); foreach ($query->rows as $result) { $seo_setting_data[$result['language_id']] = array( 'config_meta_title' => $result['config_meta_title'], 'config_meta_description' => $result['config_meta_description'], 'config_meta_keyword' => $result['config_meta_keyword'] ); } return $seo_setting_data; } Код admin/controller/setting/setting.php Контроллер: $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['setting_seo'])) { $data['setting_seo'] = $this->request->post['setting_seo']; } elseif (isset($this->request->get['store_id'])) { $data['setting_seo'] = $this->model_setting_setting->getSettingSeo($this->request->get['store_id']); } else { $data['setting_seo'] = array(); } $language_id = $this->config->get('config_language_id'); if (isset($data['setting_seo'][$language_id]['config_meta_title'])) { $data['heading_title'] = $data['setting_seo'][$language_id]['config_meta_title']; } Ну и собственно как выводится в шаблоне админки admin/view/template/setting/setting.tpl <div class="tab-pane active" id="tab_home_languages"> <ul class="nav nav-tabs" id="language"> <?php foreach ($languages as $language) { ?> <li><a href="#language<?php echo $language['language_id']; ?>" data-toggle="tab"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /> <?php echo $language['name']; ?></a></li> <?php } ?> </ul> <div class="tab-content"> <?php foreach ($languages as $language) { ?> <div class="tab-pane" id="language<?php echo $language['language_id']; ?>"> <div class="form-group required"> <label class="col-sm-2 control-label" for="input-config_meta_title<?php echo $language['language_id']; ?>"><?php echo $entry_meta_title; ?></label> <div class="col-sm-10"> <input type="text" name="setting_seo[<?php echo $language['language_id']; ?>][config_meta_title]" value="<?php echo isset($setting_seo[$language['language_id']]) ? $setting_seo[$language['language_id']]['config_meta_title'] : ''; ?>" placeholder="<?php echo $entry_meta_title; ?>" id="input-config_meta_title<?php echo $language['language_id']; ?>" class="form-control" /> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> </div> </div> </div> <?php } ?> </div> </div> И так в базу всё записывается, но походу в контроллере я затупил и вывести не могу ( А потом мнё еще надо ж как-то чтоб тайтл заменялся в зависимости от языка, но я думаю я сделаю :))
  5. Народ, хелп))) Короче я делаю новые поля для карточки товара, а именно два мультиязычных поля (Вопрос, ответ) Вот как это выглядит: https://prnt.sc/s7ae1n Создал новую таблицу с айди товара, айди языка и 2 столба для вопроса и ответа. https://prnt.sc/s7aef7 и https://prnt.sc/s7aemj В админке в моделе, контроллере, вьюшкевсё прописал. В итоге всё обновляется, добавляется, выводится, но именно в админке (Всё супер) Далее мне надо вывести это в шаблон. И тут я что-то я в панике. Скопировал запрос из моделе admin и вставил в модель catalog public function getProductFaq($product_id) { $faq_description_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_faq WHERE product_id = '" . (int)$product_id . "'"); foreach ($query->rows as $result) { $faq_description_data[$result['language_id']] = array( 'text' => $result['text'], 'ask' => $result['ask'], ); } return $faq_description_data; } Далее я не могу сформулировать запрос в контроллере и вьюшке catalog. Подскажите, что делать? 2 дня сижу( И верно ли то, что я скопировал запрос из моделе админки в модель каталог?) Судя по логике это нормально ведь?)
×
×
  • Создать...

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

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