+ Antworten
Ergebnis 1 bis 10 von 10

Thema: SEO und eigene Komponente

  1. #1
    Neu an Board
    Registriert seit
    08.06.2010
    Beiträge
    10
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard SEO und eigene Komponente

    Hallo zusammen,

    ich habe auf meiner Joomla (1.5) Seite ein Problem, bei welchem ich nicht weiterkomme.
    Ich habe eine eigene Komponente entwickelt, die ich im Menü verlinkt habe. Schalte ich nun SEO URLs (mit oder ohne mod_rewrite ist egal) ein, ändern sich alle Menülinks bis auf denjenigen, der auf meine Komponente zeigt - natürlich mit dem Ergebnis, dass ich einen 404 bekomme, wenn ich die Komponente aufrufen will. Wenn ich den richtigen (SEO-)Link manuell eintippe, wird die Komponente sogar angezeigt, nur der Link im Navigationsmenü wird nicht korrekt umgeschrieben.

    Ich würde mich über Tipps bzw. Lösungsvorschläge sehr freuen! Die Suchfunktion bzw. FAQs haben leider nichts ergeben.

    Danke!
    Geändert von BeHeist (09.06.2010 um 12:17 Uhr)

  2. #2
    Gehört zum Inventar Avatar von Helrunar
    Registriert seit
    05.03.2006
    Ort
    /home/helrunar/Webdev
    Beiträge
    6.251
    Bedankte sich
    569
    Erhielt 1.547 Danksagungen
    in 1.399 Beiträgen

    Standard

    Hier schon mal nachgeschaut?

    Router

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    08.06.2010
    Beiträge
    10
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Hallo,

    ok, das geht in die richtige Richtung. Wie binde ich das jetzt am besten ein? Ich baue eine Komponente für den Router und lasse dann von der auf meine Komponente routen, oder geht das einfacher?

    Edit: Sorry, habe das Essentielle überlesen. Werde mich mal an eine router.php machen. Danke soweit!
    Geändert von BeHeist (08.06.2010 um 14:46 Uhr)

  5. #4
    Neu an Board
    Registriert seit
    08.06.2010
    Beiträge
    10
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Okay, ich habe mir das mal angeschaut. Die router.php verstehe ich, allerdings scheint es beim Aufruf meiner Komponente ein Problem zu geben, wenn SEF URLs eingeschaltet sind.

    Die generierte URL im Menü sieht so aus, wenn SEF URLs aus sind:
    localhost/astralis/index.php?option=com_evcal&view=evcal&Itemid=86&la ng=de
    Und so, wenn sie an sind:
    localhost/astralis/index.php/de?Itemid=86&option=

    Und daran scheitert es.
    Denn: Nach Sourcecodeanalyse ruft Joomla! die selbstgeschriebene router.php nur auf, wenn folgende Bedingung erfüllt ist:

    PHP-Code:
    function _parseSefRoute(&$uri)
        {
            
    $vars   = array();

            
    $menu  =& JSite::getMenu(true);
            
    $route $uri->getPath();

            
    //Get the variables from the uri
            
    $vars $uri->getQuery(true);

            
    //Handle an empty URL (special case)
            
    if(empty($route))
            {

                
    //If route is empty AND option is set in the query, assume it's non-sef url, and parse apropriately
                
    if(isset($vars['option']) || isset($vars['Itemid'])) {
                    return 
    $this->_parseRawRoute($uri);
                } 
    Aus includes/router.php

    Die $route ist aber leer, und daher verzweigt er.
    Frage ist also, warum $uri->getPath() nichts zurückliefert, denn dadurch kommt der Joomla-Router garnicht erst soweit, den custom-Router aufzurufen, sondern geht in den If-Zweig und damit in _parseRawRoute().
    Kann es sein dass ich beim Erstellen der Komponente einen Fehler gemacht habe?
    Ist mein erstes Joomla-Projekt, daher will ich das absolut nicht ausschließen

    Thanks for help!

  6. #5
    Gehört zum Inventar Avatar von Helrunar
    Registriert seit
    05.03.2006
    Ort
    /home/helrunar/Webdev
    Beiträge
    6.251
    Bedankte sich
    569
    Erhielt 1.547 Danksagungen
    in 1.399 Beiträgen

    Standard

    Hast Du bei Dir Joomfish am laufen (wegen &lang=de)? Vielleicht hängt es ja damit zusammen.

  7. #6
    Neu an Board
    Registriert seit
    08.06.2010
    Beiträge
    10
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Ja, habe Joom!Fish 2.0.4 installiert. Ich habe es mal testweise entfernt, aber das ändert nichts, außer dass die URL jetzt so aussieht:
    localhost/astralis/index.php?Itemid=86&option=
    Schreibt man hinter das "option" noch com_evcal, geht's übrigens.
    Bin verwirrt.. ich tippe mal irgendwo beim Routing wird der Name der Komponente gefressen. Nur wo.. werde weitersuchen und berichten. Bin aber weiterhin für Tipps dankbar.

    Edit: Habe gerade den Debugmodus entdeckt und poste das mal schnell, vielleicht hilft's ja:

    Komponente nicht gefunden!

    Call stack
    # Function Location
    1 JSite->dispatch() C:\Documents and Settings\m131661\Desktop\WD\Programme\xampplite\ht docs\astralis\index.php:68
    2 JComponentHelper->renderComponent() C:\Documents and Settings\m131661\Desktop\WD\Programme\xampplite\ht docs\astralis\includes\application.php:124
    3 JError->raiseError() C:\Documents and Settings\m131661\Desktop\WD\Programme\xampplite\ht docs\astralis\libraries\joomla\application\compone nt\helper.php:95
    4 JError->raise() C:\Documents and Settings\m131661\Desktop\WD\Programme\xampplite\ht docs\astralis\libraries\joomla\error\error.php:171
    5 JException->__construct() C:\Documents and Settings\m131661\Desktop\WD\Programme\xampplite\ht docs\astralis\libraries\joomla\error\error.php:136
    Edit2: Noch ein bisschen Info: Mit eingeschaltetem URL suffix sieht's so aus:
    localhost/astralis/index.php/de.html?Itemid=86&option=

    Kann mir jemand sagen, wo in Joomla die Links generiert werden? Denn da hakt's wohl. Dass die Komponente nicht gefunden wird ist klar, denn der Link ist ja Murks.
    Geändert von BeHeist (09.06.2010 um 09:06 Uhr)

  8. #7
    Gehört zum Inventar Avatar von jacxx
    Registriert seit
    07.03.2005
    Ort
    horsehead nebula
    Beiträge
    9.277
    Bedankte sich
    394
    Erhielt 2.050 Danksagungen
    in 1.939 Beiträgen

    Standard

    Ist deine Componente denn schon als Menütyp vorhanden..?

    Versuch doch mal mit externer URL.. index.php?option=com_meineKomponente
    Wer Joomla nachmacht oder verfälscht, oder nachgemachte oder verfälschte sich verschafft und in Verkehr bringt, wird mit Typo3 nicht unter zwei Jahren bestraft.
    Joomla Forum
    Joomla braucht Dich!

  9. Erhielt Danksagungen von:


  10. #8
    Neu an Board
    Registriert seit
    08.06.2010
    Beiträge
    10
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Wenn Menütyp bedeutet, dass ich bei der Menüerstellung meine Komponente auswählen kann, dann ja (siehe Anhang). Habe aber keine Ahnung, wo ich das bei der Komponentenerstellung definiert habe. Vielleicht liegt ja hier mein Fehler?

    Mit der richtigen URL kann ich, wie oben schon geschrieben, auch bei aktivierten SEF URLs auf die Komponente zugreifen, nur der Link im Menü stimmt halt nicht.
    localhost/astralis/index.php?option=com_evcal&Itemid=86 funktioniert trotzdem, genau wie localhost/astralis/index.php/de?Itemid=86&option=com_evcal.
    Nur fehlt eben das com_evcal im Link, und das nimmt er übel.
    Angehängte Grafiken

  11. #9
    Gehört zum Inventar Avatar von jacxx
    Registriert seit
    07.03.2005
    Ort
    horsehead nebula
    Beiträge
    9.277
    Bedankte sich
    394
    Erhielt 2.050 Danksagungen
    in 1.939 Beiträgen

    Standard

    http://www.joomlaportal.de/gel-ste-t...und-views.html

    Vielleicht ist da ein Ansatz vorhanden..
    Wer Joomla nachmacht oder verfälscht, oder nachgemachte oder verfälschte sich verschafft und in Verkehr bringt, wird mit Typo3 nicht unter zwei Jahren bestraft.
    Joomla Forum
    Joomla braucht Dich!

  12. #10
    Neu an Board
    Registriert seit
    08.06.2010
    Beiträge
    10
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Ich habe das Problem lösen können.

    Ich habe etwas mit den Menüitems herumexperimentiert.
    Nachdem ich das Menüitem für den Eventkalender gelöscht und neu erstellt habe, ging es plötzlich. Das Problem kam wohl daher, dass ich bei der Entwicklung die Komponente oft installiert/deinstalliert habe, das Menüitem aber nicht; das habe ich immer beibehalten.

    Vielen Dank an alle für die Mühe! Habe immerhin wieder etwas dazugelernt

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein