Встала передо мной такая задача, как добавить в обратную связь аську скайп и всё такое.
Тут на форуме в поиске проскакивала подобная тема, рекомендация была тупо забить контакты в код.
Но они же могут поменяться со временем.
Я решил проблему чертовски простым способом, забивать всю нужную нам информацию в поле "Адрес магазина" в админке, и отображать на странице контактов только его.
Админка при сохранении, переводит теги HTML, которые нам нужны для оформления ссылок и отображения статуса скайпа и аськи, и на странице отображается весь код, но естественно не выполняется.
Вообще, по-идее, великолепный вариант бы был добавить в админку к полю "Адрес магазина" визуальный редактор и редактировать там контакты как угодно, но у меня ещё не хватает таких познаний в опенкарте (если кто в теме, отпишитесь пожалуйста), но за неимением лучшего, мы будем просто оформлять контакты без редактора, в обычном HTML.
Функцию сохранения настроек я не нашел, чтобы отрубить конвертацию HTML тегов, но добавил обратную функцию на декодирование тегов, перед отображением страницы. Для этого меняем в файле /catalog/controller/information/contact.php код
$this->data['address'] = nl2br($this->config->get('config_address'));
На
$this->data['address'] = html_entity_decode(nl2br($this->config->get('config_address')));
И не забываем отключить проверку на длину адреса в файле admin/controller/setting/setting.php, удалив код
if ((utf8_strlen($this->request->post['config_address']) < 3) || (utf8_strlen($this->request->post['config_address']) > 256)) {
$this->error['address'] = $this->language->get('error_address');
}
Вот и вся магия.