Как отредактировать блок меню Информация?

opencart

Всем привет, и снова сегодняшняя моя статья будет про 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’])
);
}

на выходе получаем следующие

Как отредактировать блок меню Информация?

и на сайте вуаля нет ни намека на то что есть эта статья

Как отредактировать блок меню Информация?

Вот таким нетривиальным способом мы решили данную проблему! Надеюсь кому то была полезна мой статья. Если будут вопросы задавайте постараюсь помочь!

admin
Оцените автора
NIBBL
Добавить комментарий