2016-05-11 3 views
0

Ich möchte ein Dropdown-Menü für Produktattribute erstellen, das alle Kategorien anzeigt, denen das Produkt zugewiesen ist. Hiermit möchte ich eine Standardkategorie definieren, die in der kanonischen Tag-URL der Produkte verwendet werden kann.Zugriff auf Produktinformationen im benutzerdefinierten Quellenmodell für das Produktattribut "dynamic"

Um dies zu tun, begann ich ein Quellmodell zu erstellen, und in diesem Quellmodell möchte ich auf das Produkt zugreifen, um dynamisch die Dropdown-Optionen zu erstellen.

Ist das möglich? Wenn ja, wie soll ich vorgehen? Oder suche ich an der falschen Stelle?

+0

Ich wähle diese Frage als Wegthema zu schließen, weil Stack-Überlauf ist eine [Programmierung bezogene] (http://stackoverflow.com/help/ zum Thema) Q & A-Site. Bei Ihrer Frage geht es nicht um Programmierung. Vielleicht sollten Sie es stattdessen auf http://magento.stackexchange.com veröffentlichen? – Enigmativity

+0

Dies ist keine Magento-Standardfunktionalität. Ich muss ein neues Quellmodell schreiben, um dies zu erreichen, weshalb ich glaube, dass dies eine programmatische Frage ist. Wenn ich mich jedoch täusche, kann ich es schließen. Ich habe die Antwort gerade gefunden, also beantworte ich sie für die zukünftige Referenz. – danstaaar

+0

Es gab nichts, was ich sehen konnte, das speziell gesagt hat, dass Sie das programmieren wollten. Es könnte eine Anfrage für eine Erweiterung oder eine Anleitung für Magento sein. Die Frage muss spezifisch und klar über Programmierung sein. – Enigmativity

Antwort

0

ich die Antwort dank eines Kollegen von mir gefunden:

Um ein Produkt Attribut zu erstellen, die alle Kategorien eines Produkts auflistet, kann ich das Produkt aus dem Magento-Registry über Mage::registry('current_product) laden. Dies führt zu folgendem Inhalt im getAllOptions() Methode:

public function getAllOptions() 
{ 
    $categoryIds = Mage::registry('current_product')->getCategoryIds(); 

    $this->result[] = array(
     'value' => '-1', 
     'label' => 'None' 
    ); 

    foreach ($categoryIds as $categoryId) { 
     $this->result[] = array(
      'label' => Mage::getModel('catalog/category')->load($categoryId)->getName(), 
      'value' => $categoryId 
     ); 
    } 
    return $this->result; 
}