Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Produktseite soll immer einer Kategorie zugewiesen sein…
 
domag007
Jr. Member
 
Total Posts:  10
Joined:  2013-03-26
 

Hallo,
ich habe ein Problem und ehrlich gesagt wenig Hoffnung, dass das gelöst werden kann. Aber ich kann es dennoch nicht glauben.

“www.domain.de/produkt-1.html” wird von Quereinsteigern oder von Magento-Suchergegnissen gefunden und geklickt. Je nach “Lust und Laune” von Magento wird dieses Produkt-1 dann in einer entsprechenden Kategorie angezeigt oder eben nicht. Die Systematik kann ich leider nicht nachvollziehen. Die Problematik ist klar, denn das produkt-1 könnte ja auch in mehrern Kategorien vorhanden sein (bei mir nicht), aber dann sollte Magento sich doch trotzdem für irgendeine Kategorie entscheiden?

Problem: Unkontrollierbare Produktseite bei ohne Kategorievorwahl weil z.B. XML-Layoutänderungen in der Kategorie nicht bei Produkten wirken, die aufeinmal keiner Kategorie zugewiesen sind. Auch Extensions, wie z.B. Up-Selling Products aus entsprechender Kategorie funktionieren nicht mehr weil keine Kategorie erkannt?

Wie macht ihr das? Es muss doch einen Trick geben um das Produkt in eine Kategorie zu zwingen? Speziell auch für die Suchergebnisse…

 
Magento Community Magento Community
Magento Community
Magento Community
 
symcode
Member
 
Avatar
Total Posts:  36
Joined:  2013-05-13
Köln - Germany
 

Du bist nicht der erste, der sich über dieses Thema beschwert hat.
Ich habe mal eine kleine Anleitung dazu geschrieben, ich hoffe es hilft dir weiter.

Produkt mit Standardkategorie

 
Magento Community Magento Community
Magento Community
Magento Community
 
domag007
Jr. Member
 
Total Posts:  10
Joined:  2013-03-26
 

Hallo,
vielen Dank, ich habe das jetzt mal gewissenhaft abgearbeitet.
Es funktioniert, allerdings nur mit “einer Kategorie” und auch nur im Firefox. Was könnte das denn für ein Problem sein?
Safari und IE keine Wirkung. Alle Caches geleert…

Kann es sein das in Deiner Observer.php das abschließende “?>” fehlt ? Sorry, wahrscheinlich blöde Frage… smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
symcode
Member
 
Avatar
Total Posts:  36
Joined:  2013-05-13
Köln - Germany
 

Hi,

also theoretisch hat die Erweiterung mit dem Browser nichts am Hut (sind ja auch nur PHP-Dateien),
wird die Erweiterung bei dir wirklich geladen (mach mal eine Ausgabe in die Obersver.php Datei).
Falls du merkst, dass die Erweiterung nicht geladen wird, würde ich einmal den Magento-Cache leeren
an deiner Stelle.
Wenn du Unterschiede bei Browsern bemerkst, dann funktioniert das Löschen des Browsercaches bestimmt nicht.
Die “?>” Endung muss nicht mehr gesetzt werden, das passt schon alles so.
Welche Magento Version benutzt du?

 
Magento Community Magento Community
Magento Community
Magento Community
 
domag007
Jr. Member
 
Total Posts:  10
Joined:  2013-03-26
 
symcode - 11 June 2013 02:03 AM

Hi,
wird die Erweiterung bei dir wirklich geladen (mach mal eine Ausgabe in die Obersver.php Datei).

Ich weiss nicht was das heisst. Habe die Datei jetzt mal in den Root kopiert und von da aus gestartet.
Fatal error: Class ‘Mage_Core_Block_Abstract’ not found in /kunden/211202_70794/rp-hosting/7993/8992/magento/Observer.php on line 5

symcode - 11 June 2013 02:03 AM

Falls du merkst, dass die Erweiterung nicht geladen wird, würde ich einmal den Magento-Cache leeren
an deiner Stelle.

Mache ich immer zur Sicherheit…

symcode - 11 June 2013 02:03 AM

Welche Magento Version benutzt du?

1.7.0.2

 
Magento Community Magento Community
Magento Community
Magento Community
 
symcode
Member
 
Avatar
Total Posts:  36
Joined:  2013-05-13
Köln - Germany
 

Mach mal in die Observer.php eine Ausgabe

echo “Load”;

irgendwo in die Methode rein. Bekommst du danach, wenn du die Produkt Detailseite aufrufst die Ausgabe?

 
Magento Community Magento Community
Magento Community
Magento Community
 
domag007
Jr. Member
 
Total Posts:  10
Joined:  2013-03-26
 

Nein, kommt nix…

 
Magento Community Magento Community
Magento Community
Magento Community
 
symcode
Member
 
Avatar
Total Posts:  36
Joined:  2013-05-13
Köln - Germany
 

Dann hast du womöglich irgend etwas falsch eingebaut. Kannst du mir bitte alle Dateien
hier auflisten, die du angelegt hast?
Wenn du in Magento Admin Panel “System >> Konfiguration >> Erweitert” öffnest, findest du da ein Modul
namens ModCode_NeuesModul?

 
Magento Community Magento Community
Magento Community
Magento Community
 
domag007
Jr. Member
 
Total Posts:  10
Joined:  2013-03-26
 

Ja, das Modul ist im BE vorhanden und aktiviert.

Folgendes habe ich angelegt:

--------------------------------------------------------------
app/etc/modules/Modcode_NeuesModul.xml
-------------------------------------------------------------
<?xml version="1.0"?>

<config>
<modules>
<ModCode_NeuesModul>
<active>true</active>
<codePool>local</codePool>
</ModCode_NeuesModul>
</modules>
</config>

-------------------------------------------------------------------------------------------
app/code/local/ModCode/NeuesModul/Model/Catalog/Observer.php
-------------------------------------------------------------------------------------------
<?php


class Modcode_NeuesModul_Model_Catalog_Observer extends Mage_Core_Block_Abstract
{
public function initDefaultCategory($observer)
{
$currentCategory = Mage::registry('current_category');

if(!$currentCategory)
{
// aktuelles Produkt
$product = $observer->getProduct();

// alle Kategorie ID's zu dem Produkt
$categoryIds = $product->getCategoryIds();

// An der Stelle kann jeder selbst entscheiden, welche ID als "default" genommen werden soll
$maxId = max($categoryIds);

// Kategorie laden, damit alle Daten zur Verfügung stehen
$currentCategory = Mage::getSingleton('catalog/category')->load($maxId);

// Als jetzige Kategorie registrieren
Mage::register('current_category', $currentCategory);
}
}
}

--------------------------------------------------------------------------
app/code/local/ModCode/NeuesModul/etc/config.xml
--------------------------------------------------------------------------
<?xml version="1.0"?>

<config>
<modules>
<ModCode_NeuesModul>
<version>1.0.0.0</version>
</ModCode_NeuesModul>
</modules>
<global>
<models>
<neuesModul>
<class>ModCode_NeuesModul_Model</class>
</neuesModul>
</models>
</global>
<frontend>
<events>
<catalog_controller_product_init>
<observers>
<default_category>
<type>singleton</type>
<class>Modcode_NeuesModul_Model_Catalog_Observer</class>
<method>initDefaultCategory</method>
</default_category>
</observers>
</catalog_controller_product_init>
</events>
</frontend>
</config>

 
Magento Community Magento Community
Magento Community
Magento Community
 
symcode
Member
 
Avatar
Total Posts:  36
Joined:  2013-05-13
Köln - Germany
 

Hi,

ich hatte noch nen kleinen Fehler drin.
Ändere bitte den Inhalt der Datei:

app/code/local/ModCode/NeuesModul/etc/config.xml

mit folgendem Inhalt:

<?xml version="1.0"?>

<config>
<modules>
<ModCode_NeuesModul>
<version>1.0.0.0</version>
</ModCode_NeuesModul>
</modules>
<global>
<models>
<neuesModul>
<class>ModCode_NeuesModul_Model</class>
</neuesModul>
</models>
</global>
<frontend>
<events>
<catalog_controller_product_init>
<observers>
<default_category>
<type>singleton</type>
<class>ModCode_NeuesModul_Model_Catalog_Observer</class>
<method>initDefaultCategory</method>
</default_category>
</observers>
</catalog_controller_product_init>
</events>
</frontend>
</config>

 
Magento Community Magento Community
Magento Community
Magento Community
 
domag007
Jr. Member
 
Total Posts:  10
Joined:  2013-03-26
 

Das funktioniert! smile
Darüber freue ich mich sehr. Das braucht doch eigentlich jeder, der seinen Shop nur einigermassen interessant gestalten will.

VIELEN DANK!
ModCode merke ich mir…

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top