Ich möchte einen neuen Inhaltsblock zum Magento Admin Dashboard hinzufügen. Ich habe den Bohrtag gegoogelt, kann aber keine Lösung finden. Ich möchte den Block auf der roten Linie des Bildes platzieren.Wie Inhalte Block zu Magento Admin-Dashboard hinzufügen?
Antwort
Lassen Sie uns Schritt-für-Schritt:
Vorlage (app/design/adminhtml/default/default/template/Armaturenbrett/index.phtml), Linie 98
<div class="dashboard-container">
<?php echo $this->getChildHtml('store_switcher') ?>
<table cellspacing="25" width="100%">
<tr>
<td>
<!-- Start including the sales blocks -->
<?php echo $this->getChildHtml('sales') ?>
<!-- End including -->
<div class="entry-edit">
<div class="entry-edit-head"><h4><?php echo $this->__('Last 5 Orders') ?></h4></div>
<fieldset class="np"><?php echo $this->getChildHtml('lastOrders'); ?></fieldset>
</div>
<div class="entry-edit">
<div class="entry-edit-head"><h4><?php echo $this->__('Last 5 Search Terms') ?></h4></div>
<fieldset class="np"><?php echo $this->getChildHtml('lastSearches'); ?></fieldset>
</div>
<div class="entry-edit">
<div class="entry-edit-head"><h4><?php echo $this->__('Top 5 Search Terms') ?></h4></div>
<fieldset class="np"><?php echo $this->getChildHtml('topSearches'); ?></fieldset>
</div>
</td>
Sie können die $this->getChildHtml('sales')
einschließlich sehen. Das ist verantwortlich für diese beiden Blöcke Lifetime Sales und Durchschnittliche Verkäufe von Ihrem Screenshot. Diese Vorlage stammt aus dem Block Mage_Adminhtml_Block_Dashboard
, in dem Sie eine _prepareLayout()
Methode finden können.
Block-Klasse Mage_Adminhtml_Block_Dashboard (app/code/core/Mage/Adminhtml/Block/Dashboard.php)
protected function _prepareLayout()
{
...
$this->setChild('sales',
$this->getLayout()->createBlock('adminhtml/dashboard_sales')
);
...
}
Wie Sie sehen können, setzt er den Block 'Umsatz' mit dem Block Klasse Mage_Adminhtml_Block_Dashboard_Sales
.
Block-Klasse Mage_Adminhtml_Block_Dashboard_Sales (app/code/core/Mage/Adminhtml/Block/Armaturenbrett/Sales.php)
Jetzt wird es interessant! :)
Überprüfen Sie die _prepareLayout
Methode ...
protected function _prepareLayout()
{
if (!Mage::helper('core')->isModuleEnabled('Mage_Reports')) {
return $this;
}
$isFilter = $this->getRequest()->getParam('store') || $this->getRequest()->getParam('website') || $this->getRequest()->getParam('group');
$collection = Mage::getResourceModel('reports/order_collection')
->calculateSales($isFilter);
if ($this->getRequest()->getParam('store')) {
$collection->addFieldToFilter('store_id', $this->getRequest()->getParam('store'));
} else if ($this->getRequest()->getParam('website')){
$storeIds = Mage::app()->getWebsite($this->getRequest()->getParam('website'))->getStoreIds();
$collection->addFieldToFilter('store_id', array('in' => $storeIds));
} else if ($this->getRequest()->getParam('group')){
$storeIds = Mage::app()->getGroup($this->getRequest()->getParam('group'))->getStoreIds();
$collection->addFieldToFilter('store_id', array('in' => $storeIds));
}
$collection->load();
$sales = $collection->getFirstItem();
// HERE YOU GO!
$this->addTotal($this->__('Lifetime Sales'), $sales->getLifetime());
$this->addTotal($this->__('Average Orders'), $sales->getAverage());
}
Was Sie (hoffentlich) sehen:
- Diese beiden Blöcke nur, wenn
Mage_Reports
angezeigt wird - Die Blöcke aktiviert sind im Grunde hier fest codiert
- Wenn Sie etwas dazwischen wollen, schreiben Sie die
_prepareLayout
Methode mit Ihrem eigenen 3.
- 1. Magento wishlist_link zu anderem Block hinzufügen?
- 2. CMS Seite hinzufügen Block Magento
- 3. Wie Sie benutzerdefinierte Block in Magento Dashboard Sidebar hinzufügen
- 4. wie Magento-Widgets in statischen Block
- 5. Magento CE-Block Berechtigungen
- 6. Individuelle Block in magento
- 7. magento Fehler einen Block zu schaffen
- 8. Hinzufügen eines neuen Referenzblocks zu Magento
- 9. Wie div zu Magento Seite hinzufügen
- 10. Wie versteckte Produkt zu Magento Warenkorb hinzufügen?
- 11. Wie übergeben Variable von Block zu PHPml in Magento
- 12. Magento, wie man den Block anfügt
- 13. Statischer Block auf Homepage in Magento
- 14. Custom Block Magento 2 isnt't arbeiten
- 15. Laden Magento Warenkorb Block zu einem Dropdown-Feld
- 16. Upload-Funktion zu Magento CMS hinzufügen
- 17. Mehrere Bilder zu Magento-Produkten programmgesteuert hinzufügen
- 18. EpiServer - Hinzufügen Block zu einem Inhaltsbereich programmatisch
- 19. Wie kann ich programmatisch Inhalte zu einer Bachstelzen-StreamField hinzufügen?
- 20. Kann nicht statischen Block in Magento erstellen
- 21. Erstellen Sie einen neuen Block in Magento
- 22. Magento-Block Injction über module.xml Dateien
- 23. Hinzufügen von Preisregeln zu Magento-Produkten
- 24. Wie bekomme ich Inhalte, die in einem Block angezeigt werden?
- 25. Magento Block-Konstrukt - _construct oder __construct verwenden?
- 26. Magento: Block unsetChild für alle Kinder?
- 27. Magento: Bewegen top.menu Block neben Logo
- 28. Hinzufügen if-Anweisung zu Do-End-Block
- 29. Wie platziere ich meinen benutzerdefinierten Block in einem anderen Block in Magento mit Layout-XML?
- 30. Magento - Wie man benutzerdefinierten Block an der/Kasse/Warenkorb/Seite hinzufügen?