Mit dieser Zeile kann man ganz einfach einen Magento Block in eine CMS Seite einfügen.
|
1 |
{{block type="cms/block" block_id="block_id"}} |
Mit dieser Zeile kann man ganz einfach einen Magento Block in eine CMS Seite einfügen.
|
1 |
{{block type="cms/block" block_id="block_id"}} |
Mit diesem Code kann ein Kunde per Quellcode entsperrt werden:
|
1 |
$customer->setFailedLogins(0)->setLastFailedLogin(0)->save(); |
Eine Bestellung inkusive der indivduellen Optionen kann mit dem folgenden Code erstellt werden:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$quote = Mage::getModel('sales/quote')->setStoreId(Mage::app()->getStore('default')->getId()); $quote->setCustomerEmail($mail); $product = Mage::getModel('catalog/product')->load($productId); $buyInfo = array( 'qty' => 1, 'options' => array($optionId => $optionValue) ); $quote->addProduct($product, new Varien_Object($buyInfo)); $addressData = array( 'firstname' => $firstName, 'lastname' => $lastName, 'street' => $street, 'city' => $city, 'postcode' => $postCode, 'telephone' => '-', 'country_id' => $country, 'region_id' => $regionId, ); $billingAddress = $quote->getBillingAddress()->addData($addressData); $shippingAddress = $quote->getShippingAddress()->addData($addressData); $shippingAddress->setCollectShippingRates(true)->collectShippingRates() ->setShippingMethod('flatrate_flatrate') ->setPaymentMethod('bankpayment'); $quote->getPayment()->importData(array('method' => 'bankpayment')); $quote->collectTotals()->save(); $service = Mage::getModel('sales/service_quote', $quote); $service->submitAll(); $order = $service->getOrder(); // ... |
Um eine Liste aller Länder zu bekommen, um diese dann z.B. in einer DropDown Liste anzuzeigen, kann der folgenden Code verwendet werden:
|
1 |
$countryList = Mage::getModel('directory/country')->getResourceCollection()->loadByStore()->toOptionArray(true); |
Manchmal steht die ID zum Laden eines Magento Models nicht zur Verfügung. In einem solchen Fall, kann man auch folgendermaßen vorgehen:
|
1 |
$collectionData = Mage::getModel('modelname')->getCollection()->addFieldToFilter('attribute', 'attribute value'); |
Danch kann dann die Collection durchgegangen und das Model per ID geladen werden.
Um einen bestimmten Block aus dem Magento Cache zu entfernen, muß man das XML entsprechend anpassen:
|
1 2 3 |
<reference name="name.of.the.block"> <action method="setCacheLifetime"><s>null</s></action> </reference> |
Um den Status aller Produkte aus der Datenbank auszulesen, kann folgende Abfrage genutzt werden:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
SELECT cpe.sku, q.product_status FROM catalog_product_entity cpe JOIN (SELECT entity_id AS product_id, value AS product_status FROM catalog_product_entity_int WHERE entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product') AND attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'status' AND entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product'))) q ON cpe.entity_id = q.product_id; |
Status 1: aktiviert Status 2: deaktivert
Um die Anzahl der Spalten einer beliebigen Produktkategorie anzupassen, öffnet man im Backend die entsprechende Kategorie und fügt den folgenden Code als Layout Update hinzu:
|
1 2 3 |
<reference name="product_list"> <action method="setColumnCount"><count>4</count></action> </reference> |
Befindet man sich auf einer Seite, welche mittels https gesichert ist und sucht nach einem Begriff, erscheint eine Warnmeldung. Dies ist lästig für den Suchenden. Um das Problem zu beheben, is ist nötig, die URL des Suchformulars ebenfalls per https…
Um eine Stored Procedure aus Magenti Code aufzurufen, verwendet man den folgenden Code:
|
1 2 3 4 |
$resource = Mage::getSingleton('core/resource'); $readConnection = $resource->getConnection('core_read'); $query = 'CALL stored_procedure()'; $results = $readConnection->exec($query); |