Breadcrumb (getBreadCrumb) anpassen

Hallo,

ich möchte den Breadcrumb auf der Kategorie- und der Detailseite anpassen.

Dazu, so dachte ich, kann ich die getBreadCrumb-Funktionen in ArticleDetailsController und ArticleListController anpassen.
Bei den installierten Shopmodulen scheint alles zu stimmen, aber ‘meine’ Funktion wird wieder mal nicht aufgerufen:

class articleListController extends \OxidEsales\Eshop\Application\Controller\ArticleListController
{
public function getBreadCrumb()
{
$paths = parent:getBreadCrumb();
die();

Die Kategorie-Seite “stirbt” nicht.

Setze ich an der falschen Stelle an?

Gruß
Thoni

müsste so heissen …

class alist extends alist_parent

Das geht leider auch nicht.

In der metadata steht es so:

'extend'       => array(
		'ArticleListController'	=> 'subcategories/application/controllers/alist',

Der Class Name muss zu dem Eintrag in der metadata.php passen, sowie die hinterlegten Metadaten zu der Version von metadata.php passen muss. Das heißt, dass die gesamte Kombination stimmen muss, posten mal die komplette metadata.php Datei und den gesamten Kopf der Erweiterungsklasse inklusive Namespace und Definition.

Es ist die
$sMetadataVersion = ‘1.1’;
Leider muss ich zugeben, dass ich noch keinen Namespace eingegeben habe:

class alist extends alist_parent
{
    public function getBreadCrumb()
    {
        $paths = parent::getBreadCrumb();

die();
        if ('oxmore' == \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('cnid')) {
            $path = [];
            $path['title'] = \OxidEsales\Eshop\Core\Registry::getLang()->translateString(
                'CATEGORY_OVERVIEW',
                \OxidEsales\Eshop\Core\Registry::getLang()->getBaseLanguage(),
                false
            );
            $path['link'] = $this->getLink();

            $paths[] = $path;

            return $paths;
        }

        if (($categoryTree = $this->getCategoryTree()) && ($categoryPaths = $categoryTree->getPath())) {
            foreach ($categoryPaths as $category) {
                /** @var \OxidEsales\Eshop\Application\Model\Category $category */
                $categoryPath = [];

                $categoryPath['link'] = $category->getLink();
                if ($category->oxcategories__oxbreadcrumb->value == "") {
					$categoryPath['title'] = $category->oxcategories__oxtitle->value;
				}else {
					$categoryPath['title'] = $category->oxcategories__oxbreadcrumb->value;
				}
                $paths[] = $categoryPath;
            }
        }

        return $paths;
    }
}

Die Zeilen sind angepasst - sonst ist, bis auf das die(); alles ‘vom Original’ übernommen.

So funktioniert es:

'extend'       => array(
		'aList'	=> 'subcategories/application/controllers/alist',

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.