Перейти к содержанию
anafor

Редактор страницы "Контакты"

Рекомендуемые сообщения

Было бы очень удобно, чтобы содержимое страницы "контакты" можно было редактировать в редакторе (СKE-Editor) прямо из браузера как страницы "О нас" или "Условия и соглашения". Это в теории.Практика. Добился того, что на странице контакты вместо полей "адрес", "телефон" теперь вставляется страница информации с id=0. Все вроде бы хорошо, но эта же страница отображается еще и отдельно в меню. Если ее выключить - не будет отображаться ни там ни там. Что посоветуете сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а не проще просто в шаблоне написать нужную информацию, без ckeditor'a? не каждый же день, наверно, будет редактироваться эта статья)

ну раз уж так хочется, то делаем вот так:

в файле ..catalogcontrollerinformationcontact.php:

сразу после

public function index() {
вставить это

$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation('4'); // здесь указываем id статьи, а в админке ее отключаем		if ($information_info) {	$this->data['description'] = html_entity_decode($information_info['description']);}

в ..catalogmodelcataloginformation.php:

меняем

public function getInformation($information_id) {		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND i.status = '1'");			return $query->row;	}
на

public function getInformation($information_id) {		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");			return $query->row;	}

в ..catalogviewthemedefaulttemplateinformationcontact.tpl:

вставить куда нравится

<? echo $description; ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо за ответ!

а не проще просто в шаблоне написать нужную информацию, без ckeditor'a? не каждый же день, наверно, будет редактироваться эта статья)

В том то и дело, что цель - сделать все максимально редактируемым с помощью веб-интерфейса

ну раз уж так хочется, то делаем вот так:в файле ..catalogcontrollerinformationcontact.php:сразу после

public function index() {
вставить это
$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation('4'); // здесь указываем id статьи, а в админке ее отключаем		if ($information_info) {	$this->data['description'] = html_entity_decode($information_info['description']);}
в ..catalogmodelcataloginformation.php:меняем
public function getInformation($information_id) {		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND i.status = '1'");			return $query->row;	}
на
public function getInformation($information_id) {		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");			return $query->row;	}
в ..catalogviewthemedefaulttemplateinformationcontact.tpl:вставить куда нравится
<? echo $description; ?>
именно так и сделал)) только модель работы с данными не менял. просто исключу эту страницу из выборки: работать будет, а там, будет желание, сделаю красиво

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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