Call to a member function getId() on a non-object in app/code/core/Mage/Review/Block/Product/View/List.php on line 40

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 10:10

При добавлении review на хоум пейдж получается ошибка...
Вот так я подключаю review в page.xml
<block type="review/product_view_list" name="product.info.product_additional_data" as="reviews" template="review/product/view/list.phtml">
                    <block type="review/form" name="product.review.form" as="review_form"/>
                </block>

Вот код ошибки.

Цитата

Call to a member function getId() on a non-object in D:\wamp\www\bad\app\code\core\Mage\Review\Block\Product\View\List.php on line 40


Зарание спасибо за ответ.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

21.06.2012 10:12

Сочли ли вы нужным посмотреть указанную вам интерпретатором точку программного кода?

#3 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 10:18

Да, но я не понимаю что не так, там где я хочу вызвать reviev есть id продукта.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

21.06.2012 10:26

По вашему замыслу, для какого конкретно товара система должна показывать на главной странице отзывы и оценки?

#5 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 10:30

Для всех что я вывожу в табы.

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

21.06.2012 10:32

А что вы увидели в указанной вам интерпретатором точке программного кода, и какие мысли у вас при этом возникли?

#7 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 10:38

То что reviews не вызываются потому что не в файле что отвечает за вывод не могут получить id...потому у меня прописана в том файле такая строка

$product_id = $this->getProduct()->getId();


Я думаю что может у меня не тот тип зиса...

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

21.06.2012 10:39

Вы на каком языке теперь разговариваете?

#9 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 10:42

На украинском языке. Я уже отредактировал сообщения, что написал выше.

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

21.06.2012 10:46

Ладно, не буду вас больше мучить вопросами, а сразу отвечу: блок review/product_view_list предназначен для отображения отзывов и оценок только одного, конкретного товара, причем блок узнает, что это за товар - из реестра (Mage::registry('product')).
По этой причине блок работает только на тех страницах магазина где в реестре присутствует конкретный товар.
В частности, на странице товарной карточки.
На главной странице блок работать не будет, нужно программирование.

#11 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 10:49

Я это понял, но что именно мне нужно сделать, чтобы в каждом табе получить отзывы?

#12 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

21.06.2012 10:50

Обратиться к программисту и оплатить его труд.

#13 Новичок
  • Группа: Пользователь
  • Сообщений: 15
  • Регистрация: 09.04.2012

21.06.2012 11:20

Вот что я в итоге сделал.

 <?Mage::unregister('product');
Mage::register('product',$_product);
echo $this->getLayout()->createBlock('review/product_view_list','reviews',
array('template' => 'review/product/view/list.phtml'))->toHtml();
?>


Ошибок уже нет и всё подключило что надо.
Сейчас добавлю отзывы и посмотрю всё ли правилно.

Поделиться темой: