Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Помогите решить ошибку


chuzen

Recommended Posts

Ребята помогите. что-то напортачил. При входе на сайт под тех обслуживанием выдаёт

Fatal error: Call to a member function getInformations() on null in ... www/system/storage/modification/catalog/controller/common/header.php on line 138

Вот что в самом указанном файле:

$data['informations'] = array(); 
		  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'])
			  );
			}
		}

я плоховато в этом разбираюсь. что сделал не так и как исправить?

если зайти в админку, то ошибка пропадает. если отключить тех обслуживание сайта ошибка тоже пропадает.

Змінено користувачем chuzen
Надіслати
Поділитися на інших сайтах


вот код ocmod'a 

<?xml version="1.0" encoding="utf-8"?>
<modification>
<name>Information in header OpenCart 2.x</name>
<code>Information in header OpenCart 2.x</code>
<version>1.0</version>
<author>Skunk</author>
<link>https://opencartforum.com/user/714136-skunk/</link>

<file path="catalog/controller/common/header.php">
	<operation error="skip">
	<search><![CDATA[
		$data['text_all'] = $this->language->get('text_all');
	]]></search>
	<add position="after">
	<![CDATA[
		$data['text_infoheader'] = $this->language->get('text_infoheader');
	]]></add>
	</operation>
	<operation error="skip">
	<search><![CDATA[
		$data['cart'] = $this->load->controller('common/cart');
	]]></search>
	<add position="after">
	<![CDATA[
		$data['informations'] = array(); 
		  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'])
			  );
			}
		}
	]]></add>
	</operation>
</file>
<file path="catalog/language/ru-ru/common/header.php">
	<operation error="skip">
	<search><![CDATA[
		$_['text_all']           = 'Показать все';
	]]></search>
	<add position="after">
	<![CDATA[
		$_['text_infoheader']           = 'Информация';
	]]></add>
	</operation>
</file>
<file path="catalog/language/english/common/header.php">
	<operation error="skip">
	<search><![CDATA[
		$_['text_all']           = 'Show All';
	]]></search>
	<add position="after">
	<![CDATA[
		$_['text_infoheader']           = 'Info';
	]]></add>
	</operation>
</file>
<file path="catalog/view/theme/*/template/common/header.tpl">
	<operation error="skip">
	<search index="3"><![CDATA[
		</ul>
	]]></search>
	<add position="before">
	<![CDATA[
		<li class="dropdown">
		<a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $text_infoheader; ?></a>
		<div class="dropdown-menu">
		<div class="dropdown-inner">
			<ul class="list-unstyled">
			<?php foreach ($informations as $information) { ?>
			  <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
			  <?php } ?>
			</ul>
			</div>
		  </div>
	]]></add>
	</operation>
</file>
</modification>

 

Змінено користувачем Skunk
[spoiler]
Надіслати
Поділитися на інших сайтах


проблема в самом модуле(поскольку его отключение помогает), только я не кодэр поэтому мне тяжело понять что к чему. либо может посоветуете другой модуль для добавления статей в навигационную панель для 2.3.0.2

Надіслати
Поділитися на інших сайтах


Добавьте сюда 

<add position="after">
	<![CDATA[
		$data['informations'] = array(); 
		  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'])
			  );
			}
		}
	]]></add>

$this->load->model('catalog/information');

  • +1 1
Надіслати
Поділитися на інших сайтах

6 минут назад, ArtemPitov сказал:

Добавьте сюда 


<add position="after">
	<![CDATA[
		$data['informations'] = array(); 
		  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'])
			  );
			}
		}
	]]></add>

$this->load->model('catalog/information');

простите за глупость, но куда именно вставить

Надіслати
Поділитися на інших сайтах


9 минут назад, Skunk сказал:

языковые пути для начала измените на ru-ru и en-gb

ru-ru вроде ж и стоит, 

<file path="catalog/language/ru-ru/common/header.php">

а английский у меня удалён вообще

Надіслати
Поділитися на інших сайтах


<![CDATA[
$this->load->model('catalog/information');

  • +1 1
Надіслати
Поділитися на інших сайтах

13 минут назад, Skunk сказал:

и по поводу логов - в установке дополнений нужно смотреть NOT FOUND!

это имеется ввиду? 

MOD: Information in header OpenCart 2.x

FILE: catalog/controller/common/header.php
CODE: $data['text_all'] = $this->language->get('text_all');
LINE: 76
CODE: $data['cart'] = $this->load->controller('common/cart');
LINE: 145

FILE: catalog/language/ru-ru/common/header.php
CODE: $_['text_all']           = 'Показать все';
LINE: 18

FILE: catalog/view/theme/default/template/common/header.tpl
CODE: </ul>
LINE: 139

 

Надіслати
Поділитися на інших сайтах


1 минуту назад, chuzen сказал:

Спасибо огромное. помогло. как лайк поставить?

вот так http://take.ms/AqMX4O

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.