Модификация Magento Admin Dashboard - PullRequest
1 голос
/ 22 января 2012

Клиент заметил, что расчеты панели администратора в ее системе не совпадают с отчетом о заказе, поскольку то, что называется «Доходом», фактически отображает прибыль, как показано на прилагаемых снимках.

отчет по заказу http://dl.dropbox.com/u/48637/CloudShot/shot_1212012_80701_pm.jpeg

Я хочу изменить страницу панели инструментов, добавив 5-й элемент, который будет представлять собой фактический доход, а не прибыль.

Я дошел до добавления этого элемента.на страницу.

панель администратора http://dl.dropbox.com/u/48637/CloudShot/shot_1212012_80214_pm.jpeg

Для этого я скопировал Totals.php из / app / code / core / Mage / Adminhtml / Block / Dashboard / в / app / code/ местные / Маг / Adminhtml / блок / Панель управления /.Это код, который я изменил:

    $totals = $collection->getFirstItem();
    $this->addTotal($this->__('Revenue'), $totals->getProfit());
    $this->addTotal($this->__('Profit'), $totals->getRevenue());
    $this->addTotal($this->__('Tax'), $totals->getTax());
    $this->addTotal($this->__('Shipping'), $totals->getShipping());
    $this->addTotal($this->__('Quantity'), $totals->getQuantity()*1, true);

Я просто не могу найти фактическую переменную, которую мне нужно вызвать.Кто-нибудь знает, как я могу найти это или что это может быть?Я пробовал Sales, SalesTotal, Invoiced, и все они возвращают ноль.

Это значение отображается как сумма продаж на 1-м изображении.

Спасибо.

РЕДАКТИРОВАТЬ

Переменная, которую я ищу, не загружается в этот файл.Я выследил Grid.php в / app / code / core / Mage / Adminhtml / Block / Report / Sales / Sales /, как показано на рисунке 1-го изображения.

Я пытался вставить

Mage::log($totals->debug());

в разных местах, но это вызывает ошибку в каждом экземпляре.

Вот фрагмент кода из Grid.php, любое из этих значений будет работать для меня ..

$this->addColumn('total_income_amount', array(
        'header'        => Mage::helper('sales')->__('Sales Total'),
        'type'          => 'currency',
        'currency_code' => $currencyCode,
        'index'         => 'total_income_amount',
        'total'         => 'sum',
        'sortable'      => false
    ));

    $this->addColumn('total_revenue_amount', array(
        'header'        => Mage::helper('sales')->__('Revenue'),
        'type'          => 'currency',
        'currency_code' => $currencyCode,
        'index'         => 'total_revenue_amount',
        'total'         => 'sum',
        'sortable'      => false,
        'visibility_filter' => array('show_actual_columns')
    ));

1 Ответ

0 голосов
/ 24 января 2012

Включите вход в систему Система> Конфигурация> Разработчик и затем рядом с вашим переопределенным кодом поставьте:

Mage::log($totals->debug());

Посмотрите файл "var / log / system.log", когда вы обновите страницу, и он выдаст вам $totals. Найдите индекс нужного значения и преобразуйте его в регистр верблюдов, например, если вы видите sales_total, тогда вы можете использовать $totals->getSalesTotal() (что вы уже пробовали, это только пример).

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

...