| |||||||
| Magento - Fragen & Probleme Fragen & Probleme rund um MagentoConnect |
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| rack::SPEED Kunde Registriert seit: 23.10.2008
Beiträge: 20
Renommee-Modifikator: 0 ![]() |
Hallo, habe einen neuen Block gefunden, der Produkte mit einem bestimmten Attribut auf der Startseite anzeigt. Anstelle einer Liste erhalte ich aber komischen Zeichensalat, der nicht so recht nach dem üblichen Mage-Fehlermeldungen aussieht (s. Anhang). Was könnte das sein? Gruß, cooee |
| | |
| | #2 (permalink) |
| rack::SPEED Support Registriert seit: 19.10.2008 Ort: Meerbusch
Beiträge: 920
Renommee-Modifikator: 10 ![]() |
Hallo cooee, ein ähnliches Problem hatte ich bei der Erstellung meines ersten Moduls auch. Mein Problem bestand darin, dass ich die Funktion nicht richtig überschrieben habe... Kannst du den Code aus dem Block einmal hier posten, so dass wir das Ganze kurz im Testshop ausprobieren können? Gruß |
| | |
| | #3 (permalink) |
| rack::SPEED Kunde Registriert seit: 23.10.2008
Beiträge: 20
Renommee-Modifikator: 0 ![]() |
Aber gerne :-) Das Dingen steht als Homepage.php in /app/code/local: Code: <?php
class Cooee_Catalog_Block_Product_Homepage extends Mage_Catalog_Block_Product_Abstract
{
public function __construct()
{
parent::__construct();
$storeId = Mage::app()->getStore()->getId();
$product = Mage::getModel('catalog/product');
/* @var $product Mage_Catalog_Model_Product */
$todayDate = $product->getResource()->formatDate(time());
$products = $product->setStoreId($storeId)->getCollection()
->addAttributeToFilter('home_page_featured', array('yes'=>true))
->addAttributeToSelect(array('name', 'price', 'small_image'), 'inner')
->addAttributeToSelect(array('special_price', 'special_from_date', 'special_to_date'), 'left')
;
/* @var $products Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection */
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);
$products->setOrder('hot_deals')->setPageSize(5)->setCurPage(1);
$this->setProductCollection($products);
}
}
?> Code:
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
<div class="home-page-cntr">
<?php $i=0; foreach ($_products->getItems() as $_product): ?>
<?php if ($i>5): continue; endif; ?>
<div class="home-page-item">
<div class="home-page-img">
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(65,65); ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>"/>
</a>
</div>
<div class="home-page-txt">
<p><a class="product-name" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>)"><?php echo $_product->getName() ?></a></p>
<?php echo $this->helper('review/product')->getSummaryHtml($_product, 'short') ?>
<?php echo $this->helper('catalog/product')->getPriceHtml($_product) ?>
</div>
</div>
<?php $i++; endforeach; ?>
<?php for($i;$i%5!=0;$i++): ?>
<?php endfor ?>
</div>
<?php endif; ?> Code: {{block type="catalog/product_homepage" name="home.catalog.product.homepage" alias="product_homepage" template="catalog/product/homepage.phtml"}} |
| | |
| | #4 (permalink) |
| rack::SPEED Support Registriert seit: 19.10.2008 Ort: Meerbusch
Beiträge: 920
Renommee-Modifikator: 10 ![]() |
Schade, durch reines überfliegen werden wir da nicht weiterkommen... ;-) Ich baue den Code morgen Vormittag in einen Testshop ein und werde dir meine Erkenntnisse hier posten. Was mir auf den ersten Blick auffällt ist das "extends Mage_Catalog_Block_Product_Abstract". - Bei meinem ersten Modul-Versuch habe ich (gleich) versucht eine Abstract-Klasse zu überschreiben, was aber nicht so einfach möglich ist. Ob das hier auch zutrifft weiß ich noch nicht, aber mein Zeichensalat sah ähnlich aus... |
| | |
| | #5 (permalink) |
| rack::SPEED Support Registriert seit: 19.10.2008 Ort: Meerbusch
Beiträge: 920
Renommee-Modifikator: 10 ![]() |
Ich habe das Problem lösen können. Da allerdings einiges verändert werden muss, werde ich den Code erst morgen in einer sauberen Form posten können. - Das Ganze funktioniert zwar schon, aber es gibt noch 1-2 Punkte die nicht ganz sauber sind...
|
| | |
| | #6 (permalink) |
| rack::SPEED Kunde Registriert seit: 20.10.2008 Ort: Bremen
Beiträge: 249
Renommee-Modifikator: 4 ![]() |
Das Modul wäre auch für mich sehr interessant. Besteht die Möglichkeit, es hier im Forum freizugeben, wenn es fertig ist?
__________________ ABUS Security-Tech Fachhändler "Hohe Bildung kann man dadurch beweisen, dass man die kompliziertesten Dinge auf einfache Art zu erläutern versteht." (George Bernard Shaw) |
| | |
| | #7 (permalink) |
| rack::SPEED Support Registriert seit: 19.10.2008 Ort: Meerbusch
Beiträge: 920
Renommee-Modifikator: 10 ![]() |
Wie versprochen das fertige Modul. Vorbereitungen Als erstes wird ein neues Attribut (Ja / Nein Optionsschalter) "home_page_featured" angelegt und zum aktuellen Attributset hinzugefügt. Sobald das Set gespeichert wurde können wir den Schalter für unsere TOP-Produkte auf "ja" setzen. Als nächstes wird über Code: CMS => SEITEN VERWALTEN => Home Page Code: {{block type="catalog/product_homepage" template="catalog/product/homepage.phtml"}} Code: <div class="box best-selling"> Dateien kopieren Abschließend werden alle Dateien aus dem Anhang auf den Server geladen. Fertig Die Produkte mit der Option "Ja" sollten jetzt auf der Startseite angezeigt werden. EDIT: Neue Version: Zeichensalat bei neuem Produktblock |
| | |
| | #8 (permalink) |
| rack::SPEED Kunde Registriert seit: 23.10.2008
Beiträge: 20
Renommee-Modifikator: 0 ![]() |
Okay, dankeschön, werde das gleich mal ausprobieren. Das mit dem Zeichensalat scheint jedoch noch eine Sache zu sein, die auch auf anderem Wege ausgelöst werden könnte. Ich wollte gerade einfach mal in der Navigation (left.phtml) die aktuelle Kategorie via Code: echo $this->getCurrentChildCategories() Gruß, cooee |
| | |
| | #9 (permalink) |
| rack::SPEED Support Registriert seit: 19.10.2008 Ort: Meerbusch
Beiträge: 920
Renommee-Modifikator: 10 ![]() |
Leider kenne ich mich mit dem Zend-Framework noch nicht so gut aus, daher habe ich deinen Code wahrscheinlich auch erst gar nicht zum laufen bekommen. - In meinem Modul liegen die Dateien auch an ganz anderen Stellen... ![]() Was mir gerade erst aufgefallen ist: Code: <?php $i=0; foreach ($_products->getItems() as $_product): ?> Code: <?php $i=0; foreach ($_products as $_product): ?> |
| | |
| | #10 (permalink) |
| rack::SPEED Kunde Registriert seit: 20.10.2008 Ort: Bremen
Beiträge: 249
Renommee-Modifikator: 4 ![]() |
Hallo Maik, super Arbeit! Jetzt habe ich nur noch ein klitzekleines Problem: Die Links in den Boxen sind leider englisch (auch der Button "Add to Cart"). Gibts da eine Möglichkeit, dass die auch noch eingedeutscht werden können? Ansonsten nochmals ein großes DANKE für dieses Modul.
__________________ ABUS Security-Tech Fachhändler "Hohe Bildung kann man dadurch beweisen, dass man die kompliziertesten Dinge auf einfache Art zu erläutern versteht." (George Bernard Shaw) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |