Nano Hash - криптовалюты, майнинг, программирование

Неустранимая ошибка: вызов функции-члена setColumn() для не-объекта в Magento

Неустранимая ошибка: вызов функции-члена setColumn() для не-объекта в D:\Program Files\wamp\www\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid\Column.php в режиме онлайн 291

в разделе административной сетки я использовал данные этих столбцов

protected function _prepareColumns()
{
    $this->addColumn('giftcard_id', 
        array(
            'header'    => 'ID',
            'align'        => 'right',
            'width'        => '50px',
            'index'        => 'giftcard_id',
        ));

    $this->addColumn('giftcard_id', 
        array(
            'header'    => 'Detail',
            'align'        => 'center',
            'width'        => '150px',
            'renderer'  => 'giftcard/adminhtml_giftcard_idrenderer',
            'index'        => 'giftcard_id',
        ));



    $this->addColumn('created_time', array(
        'header'    => 'Creation Time',
        'align'     => 'left',
        'width'     => '120px',
        'type'      => 'date',
        'default'   => '--',
        'index'     => 'created_time',
    ));

    $this->addColumn('update_time', array(
        'header'    => 'Update Time',
        'align'     => 'left',
        'width'     => '120px',
        'type'      => 'date',
        'default'   => '--',
        'index'     => 'update_time',
    ));   


    $this->addColumn('status', array(

        'header'    => 'Status',
        'align'     => 'left',
        'width'     => '80px',
        'index'     => 'status',
        'type'      => 'options',
        'options'   => array(
            1 => 'Active',
            0 => 'Inactive',
        ),
    ));
    $this->addColumn('action',
            array(
                'header'    => Mage::helper('giftcard')->__('Action'),
                'width'     => '50px',
                'type'      => 'action',
                'getter'     => 'getId',
                'actions'   => array(
                    array(
                        'caption' => Mage::helper('giftcard')->__('Delete'),
                        'url'     => array('base'=>'*/*/delete'),
                        'field'   => 'id'
                    )
                ),
                'filter'    => false,
                'sortable'  => false,
                'is_system' => true,
    ));

    return parent::_prepareColumns();
}

в giftcard/adminhtml_giftcard_idrenderer я использовал следующий код

class Troy_Giftcard_Block_Adminhtml_Giftcard_Idrenderer extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    public function render(Varien_Object $row)
    {
        $value =  $row->getData($this->getColumn()->getIndex());
        $html = 'testing-'.$value .'-testing';
        return $html;        

    }
}

Я получил эту ошибку, когда я использую

$this->addColumn('giftcard_id', 
            array(
                'header'    => 'Detail',
                'align'        => 'center',
                'width'        => '150px',
                'renderer'  => 'giftcard/adminhtml_giftcard_idrenderer',
                'index'        => 'giftcard_id',
            ));

кто-нибудь может помочь мне, как это исправить

Заранее спасибо


Ответы:


1

вероятно, renderer class не найден. попробуй с

'renderer' => 'troy_giftcard/adminhtml_giftcard_idrenderer',

12.04.2013

2

Это связано с тем, что Magento генерирует исключение для класса рендерера как недействительный блок для него.

Пример: 'renderer' => 'Custom_Sales_Block_Adminhtml_Report_Sales_Grid_Column_Renderer_Status' Средний класс выше не является допустимым блоком из-за несоответствия пути или проблемы с макетом.

09.06.2015

3

Моя проблема была внутри пользовательского средства визуализации столбцов.

Я разрешил теги HTML в атрибуте «описание». Это было бы хорошо, но я добавил столбец, используя усеченное значение «описание». Это открыло тег элемента HTML, но обрезало закрывающий тег. Таким образом разрушая мою сетку продуктов каталога.

Ошибки JavaScript, которые я видел в сетке продуктов каталога AdminHtml, были следующими:

productGridJsObject not defined

Ошибки PHP, которые я видел при включении/отключении моего модуля, были:

Fatal error: Call to a member function setColumn() on a non-object in /home/www-data/magento/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column.php on line 291

Решение: было в моем пользовательском модуле визуализации; для обработки моего усеченного значения «описание» с помощью PHP htmlentities(), чтобы открывающий тег не рассматривался как объект DOM.

02.08.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..