Всем привет, и снова сегодняшняя моя статья будет про CMS Opencart 3
я решил дополнить предыдущую статью в которой я рассказывал как отредактировать ссылки в блоке личный кабинет а, сегодня будет тоже про стандартный блок ссылок Информация в Opencart3
Загвоздка заключается только в том, что данный блок ссылок формируется автоматические кроме ссылок Связаться с нами и Карта сайта, все остальные ссылки подтягиваются из блока статьи:
для примера мы создали статью, и даже не ставили галку что бы она отображалась в футере, но на сайте наша тестовая статья в блоке Информация уже весит )
Я пошел искать код который отвечает за вывод этой информации в этом нам поможет наш любый тотал коммандер:
в итоге, блок Информация управляется в opencart3 через файл information.php который находится по след пути:
/catalog/controller/extension/module/information.php
в котором вот такой код:
[su_expand]
<?php
class ControllerExtensionModuleInformation extends Controller {
public function index() {
$this->load->language(‘extension/module/information’);
$this->load->model(‘catalog/information’);
$data[‘informations’] = array();
foreach ($this->model_catalog_information->getInformations() as $result) {
$data[‘informations’][] = array(
‘title’ => $result[‘title’],
‘href’ => $this->url->link(‘information/information’, ‘information_id=’ . $result[‘information_id’])
);
}
$data[‘contact’] = $this->url->link(‘information/contact’);
$data[‘sitemap’] = $this->url->link(‘information/sitemap’);
return $this->load->view(‘extension/module/information’, $data);
}
}
[/su_expand]
сразу видим в конце файла ссылки на контакты и карту сайта, мы нашли его!
Теперь надо разобраться и понять как он выводит статьи, из кода видно что он просто по дефолту сразу все пихает без какого ли бо фильтра.
В итоге решил сделать так, поставить фильтр на след условие, если у статьи будет стоять сортировка со значением -1 (можно поставить любую цифру, просто -1 сразу бросается в глаза и с ней не запутаешься) то такие статьи не будут выводится.
Для этого делаем небольшую модификацию файла
foreach ($this->model_catalog_information->getInformations() as $result) {
$data[‘informations’][] = array(
‘title’ => $result[‘title’],
‘href’ => $this->url->link(‘information/information’, ‘information_id=’ . $result[‘information_id’])
);
}
заменяем на этот код
foreach ($this->model_catalog_information->getInformations() as $result) {
if ($result[‘sort_order’] != ‘-1’) {
$data[‘informations’][] = array(
‘title’ => $result[‘title’],
‘href’ => $this->url->link(‘information/information’, ‘information_id=’ . $result[‘information_id’])
);
}
на выходе получаем следующие
и на сайте вуаля нет ни намека на то что есть эта статья
Вот таким нетривиальным способом мы решили данную проблему! Надеюсь кому то была полезна мой статья. Если будут вопросы задавайте постараюсь помочь!