SEO-URL wird nicht korrekt generiert, wenn View Daten aus einem fremden Model bezieht

  • Hallo,

    ich habe ein Problem, dass ich nicht so recht durchblicke. Hat jemand von Euch einen Tipp?

    Ich rufe in einer View zwei Modelle auf:

    Code
    $this->item   = $this->get('Item');
    $this->seminars = $this->get('seminars');

    Anschließend versuche ich im Template, einen URL für ein Seminar aufzurufen:

    PHP
    <a href="<?php echo Route::_('index.php?option=com_seminarmanager&view=seminar&id='.(int) $seminar->id); ?>">

    Ich kann im Debugger sehen, dass die Routing-Funktion korrekt aufgerufen und das richtige Segment zurückgeliefert wird. Nachdem sämtliche Router-Funktionen durchlaufen sind, bekomme ich aber dann doch eine Nicht-SEO URL zurück. Rufe ich die gleiche Funktion direkt aus dem Seminar-Template auf, funktioniert aber alles genau wie erwartet. Kann mir das jemand erklären? Muß ich noch irgendwas spezielles beachten?


    Vielen Dank für Eure Hilfe,

    Holger

  • Erstmal die Frage warum du das so machst:

    Code
    $this->item   = $this->get('Item');
    $this->seminars = $this->get('seminars');

    Das ergibt irgendwie keinen Sinn, zumal du dann hier:

    PHP
    <a href="<?php echo Route::_('index.php?option=com_seminarmanager&view=seminar&id='.(int) $seminar->id); ?>">

    falsch darauf zugreifst.


    Um $seminar->id zu nutzen solltest du auch Das verwenden $seminars = $this->get('seminars');.

    So würde ich das auch mit item machen, also $item = $this->get('Item');.


    Du kannst ja dann beim Debuggen prüfen, ob was in den Variablen steht.