Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

vvpodarok

Newbie
  
  • Posts

    8
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

vvpodarok's Achievements

Rookie

Rookie (2/14)

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

Recent Badges

2

Reputation

  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 дня сижу( И верно ли то, что я скопировал запрос из моделе админки в модель каталог?) Судя по логике это нормально ведь?)
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.