[gelöst] Linkadresse eines Artikelteasers

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • ph!L
    Contao-Fan
    • 04.11.2009
    • 470

    #1

    [gelöst] Linkadresse eines Artikelteasers

    Hallo Zusammen,

    folgendes Problem:

    Ich nutze ein Submenü in der rechten Spalte einer Webseite, welche alle Unterseiten der aktiven Seitenebene anzeigt. Also z.B. alle Unterseiten des Bereichs "Produkte". Auf der übergeordneten Seite möchte ich in der Hauptspalte diese Unterseiten anteasern. Dafür verwende ich die Artikelteaser.

    Soweit klappt das, allerdings unterscheidet sich die Linkstruktur zwischen Artikelteaser und Navigationselement.

    Navigationselement: meineadresse.de/typolight/index.php/informationen/die-herkunft-unserer-produkte.html

    Artikelteaser: meineadresse.de/typolight/index.php/informationen/die-herkunft-unserer-produkte/articles/die-herkunft-unserer-produkte.html

    Warum ist das so und wie kann ich das ändern?
    Ich meine, es ist doch sinnlos den Zusatz "articles" gefolgt vom Namen der Seite in die URL zu machen, wenn es auch deutlich einfacher geht? Oder verstehe ich den Sinn dessen nicht?

    Danke und Gruß,

    Phil

    Update: Lösung weiter unten!
    Zuletzt geändert von ph!L; 21.05.2010, 15:55. Grund: Lösung
  • christian
    Alter Contao-Hase
    • 15.06.2009
    • 1039

    #2
    Zitat von ph!L Beitrag anzeigen
    Navigationselement: meineadresse.de/typolight/index.php/informationen/die-herkunft-unserer-produkte.html

    Artikelteaser: meineadresse.de/typolight/index.php/informationen/die-herkunft-unserer-produkte/articles/die-herkunft-unserer-produkte.html

    Warum ist das so und wie kann ich das ändern?
    Das ist so, damit Du den "hinter" einem Artikelteaser liegenden Artikel ansteuern kannst. "articles/die-herkunft-unserer-produkte/" ist also eine Übergabe von Datenabnkparametern.

    Das kannst Du auch nicht ändern.

    Du kannst es aber "verschönern", indem Du den Alias des Artikel nicht "die-herkunft-unserer-produkte" nennest, sondern z.B. "irgendwasnettes". Dann wäre die Adresse "meineadresse.de/typolight/index.php/informationen/die-herkunft-unserer-produkte/articles/irgendwasnettes.html". Wenn Du dann auch noch die Url-Umschreibung aktivierst und TL im Hauptverzeichnis installierst, hast Du "meineadresse.de/informationen/die-herkunft-unserer-produkte/articles/irgendwasnettes.html".

    Grüße,

    Christian
    Contao-Partner am Niederrhein
    Templating - Komplettservice - Erweiterungen
    Infos: http://delahaye.de

    Kommentar

    • ph!L
      Contao-Fan
      • 04.11.2009
      • 470

      #3
      Vielen Dank für deine Antwort.

      Das liegt nun also daran, dass ich hinter einer Seite verschiedene Artikel bauen kann und der Link den exakten Artikel ansteuern kann bzw. muss?!

      Das Problem an dieser Konstellation ist, dass ich doppelten Content erzeuge. Die gleiche Seite ist ja unter zwei unterschiedlichen Adressen zu erreichen.

      Jetzt könnte ich also entweder statt eines automatisierten Artikelteasers einen eigenen Artikel zum Anteasern verwenden, der dann den gewünschten Link erhält, oder ich muss das Navigationsmenü immer von Hand anpassen.

      Das ist allerdings beides nicht wirklich sinnvoll, ich möchte es ja schon automatisiert haben.

      Wie machen andere denn das? Gibt es da noch eine Alternative die sich mir nicht erschließt?

      Kommentar

      • christian
        Alter Contao-Hase
        • 15.06.2009
        • 1039

        #4
        Verstehe ich nicht. Wieso denn doppelter Content? Die Adresse ohne "articles" zeigt Dir doch eine Seite an, die ausschließlich die Artikelteaser enthält, die Adresse mit "articles" den einzelnen Artikel zum Teaser.

        Du legst doch auch nicht immer nur 1 Artikel in eine Seite und nutzt dann einen Teaser, oder? Dann gehören ja auch mehrere Artikel in die Seite.

        Grüße,

        Christian
        Contao-Partner am Niederrhein
        Templating - Komplettservice - Erweiterungen
        Infos: http://delahaye.de

        Kommentar

        • ph!L
          Contao-Fan
          • 04.11.2009
          • 470

          #5
          Ich mache es einfach mal mit richtigen Links.

          Es geht u.a. um diese Seite: meineseite.de/typolight/produkte/ *LINK EDITIERT*

          Diese ist also die Übergeordnete Seite für die Seiten Käse, Wurst, Speck, Schinken.

          Im rechten Navigationsmenü sind die Seiten wie gewünscht verlinkt:meineseite.de/typolight/produkte/kaese/

          Der Artikelteaser linkt auf meineseite.de/typolight/produkte/kaese/articles/kaese/

          Das sind dann die gleichen Seiten mit unterschiedlicher Adresse.

          Vielleicht mache ich ja auch was falsch, ich möchte wohl nicht auf einen Artikel, sondern auf eine Seite verlinken, richtig?!
          Zuletzt geändert von ph!L; 31.03.2010, 10:56.

          Kommentar

          • christian
            Alter Contao-Hase
            • 15.06.2009
            • 1039

            #6
            Du hast die Artikelteaser dann wohl etwas "umgebogen" und nicht dafür benutzt, wofür sie gedacht sind. Gedacht sind sie für mehr als 1 Artikel auf einer Seite.

            Ausserdem sehen Deine Links merkwürdig aus, immer ohne eigentliche Seitenangabe. Das ist bei TL eigentlich auch anders. Ist das son dubioser "das hilft unheimlich beim SEO"-Kram?

            Du kannst natürlich den Link "Weiterlesen" im Template via PHP umändern lassen, aber das ändert nichts daran, dass sich die Seite mit 2 Urls aufrufen lässt.

            Wenn Du die Teaser so einsetzt, wie gedacht, würde es wohl gehen: Du hast 1 Seite "Produkte". In dieser(!) Seite hast Du Artikel "Käse", "Wurst", "Speck", "Schinken". Damit passen die Links schon mal alle. Für das Menü rechts legst Du Weiterleitungseiten an, die als externe(!) Links "produkte/articles/wurst.html" etc. haben. Die Teaser sind ja optisch genau dafür gedacht, was Du damit gemacht hast, aber halt strukturell anders.

            Meines Erachtens nach hast Du 3 Möglichkeiten:
            1. Lebe mit dem doppelten Content
            2. Bastele noch mehr um (Gefahr von mehr Problemen)
            3. Bau die Seitenstruktur um (und mach .html daraus)


            Ich wäre für 3., weil alle anderen Lösungen keinen Vorteil bringen.

            Grüße,

            Christian
            Contao-Partner am Niederrhein
            Templating - Komplettservice - Erweiterungen
            Infos: http://delahaye.de

            Kommentar

            • ph!L
              Contao-Fan
              • 04.11.2009
              • 470

              #7
              Hallo Christian,

              erst einmal danke für deine Antworten. Das hat schon eine Menge Licht ins dunkel gebracht.

              Der Knackpunkt wird wohl sein, dass ich die Unterseiten "Wurst", "Käse" etc. nicht als Unterseite, sondern als Artikel anlegen muss. Dann scheint das zu funktionieren. Das Menü funktioniert dann also über die Weiterleitungsmethode. Dabei habe ich dann allerdings keinen Automatismus in der Menüebene mehr :-(

              Und du scheinst es als Hexerei abzutun, aber ich finde die URL aus SEO Sicht schon sehr hilfreich wenn Sie in meiner beschriebenen Art und Weise funktioniert. Auch für mich als User finde ich das sehr sinnvoll die URL in dieser Art zu haben.

              Ich vermute einfach mal, dass mein Wunsch ohne einen dreckigen Hack oder eine von mir noch nicht entdeckte Extension nicht funktionieren wird.

              Kommentar

              • neueplaneten
                Contao-Nutzer
                • 04.03.2010
                • 103

                #8
                Hi ph!L

                Mich Plagt dieses Problem ebenfalls. Aber auf deiner Seite hast es ja hinbekommen. Die Seite Produkte zeigt in den Teasern die URL genauso an wie sie im Menü zu sein haben.

                Also /typolight/produkte/käse/ und nicht /typolight/prudkte/articles/produkte/käse, wie hast Du das hinbekommen. Kannst Du dazu nicht hier eine kurze, aber dennoch aufschlussreiche Anleitung schreiben?

                Besten Dank im Voraus.
                Wer denkt jemand zu sein, hat aufgehört jemand zu werden.

                Kommentar

                • ph!L
                  Contao-Fan
                  • 04.11.2009
                  • 470

                  #9
                  Hi!

                  Ich musste eine unbefriedigende Lösung benutzen: Ich habe im Template den Link zum Artikel rausgenommen und setze den Link zur entsprechenden Seite dann manuell im Teaser.

                  Anders kann ich mr da momentan nicht helfen... Bin offen für jeden Hinweis.. Vielleicht über die Seiten ID und einen Insert-Link?

                  Kommentar

                  • tester
                    Contao-Nutzer
                    • 09.03.2010
                    • 2

                    #10
                    Folgendes oben in die ce_teaser.tpl einfügen:
                    PHP-Code:
                    <?php  $this->href = preg_replace('#/articles/.*$#i', '.html', $this->href); ?>
                    damit ist es dort jedenfalls raus.

                    Beachte jedoch das du in deiner Sitemap.xml immer noch 2 URL`s (DC) hast ...

                    Beste Grüße

                    Kommentar

                    • ph!L
                      Contao-Fan
                      • 04.11.2009
                      • 470

                      #11
                      Zitat von tester Beitrag anzeigen
                      Folgendes oben in die ce_teaser.tpl einfügen:
                      PHP-Code:
                      <?php  $this->href = preg_replace('#/articles/.*$#i', '.html', $this->href); ?>
                      damit ist es dort jedenfalls raus.

                      Beachte jedoch das du in deiner Sitemap.xml immer noch 2 URL`s (DC) hast ...

                      Beste Grüße
                      Du bist mein persönlicher Held!!!

                      Ich markiere das Problem hiermit als gelöst!

                      Kommentar

                      • Ulrich
                        Contao-Fan
                        • 03.03.2010
                        • 395

                        #12
                        Zitat von christian Beitrag anzeigen
                        ... Wenn Du die Teaser so einsetzt, wie gedacht, würde es wohl gehen: Du hast 1 Seite "Produkte". In dieser(!) Seite hast Du Artikel "Käse", "Wurst", "Speck", "Schinken". Damit passen die Links schon mal alle. Für das Menü rechts legst Du Weiterleitungseiten an, die als externe(!) Links "produkte/articles/wurst.html" etc. haben. Die Teaser sind ja optisch genau dafür gedacht, was Du damit gemacht hast, aber halt strukturell anders. ...
                        Ich habe das so umgesetzt , es funktioniert, allerdings mit einem "Schönheitsfehler":

                        Beim Navigationsmenü wird der Button für den "externen Link" nicht "active" gekennzeichnet, womit eine entsprechende CSS-Steuerung an dieser Stelle nicht funktioniert, beispielsweise eine farbliche Kennzeichnung des Buttons der aktiven Seite (bzw. des aktiven Artikels) ..., hmm...
                        Zuletzt geändert von Ulrich; 30.06.2010, 17:03.
                        Viele Grüße

                        Uli

                        Kommentar

                        • ph!L
                          Contao-Fan
                          • 04.11.2009
                          • 470

                          #13
                          Versuch mal der entsprechenden Seite bzw. den Seiten eine CSS Klasse "active" o.ä. mitzugeben. Dann solltest du die entsprechenden Menüpunkte ansprechen können.

                          Kommentar

                          • Ulrich
                            Contao-Fan
                            • 03.03.2010
                            • 395

                            #14
                            Das funktioniert nicht, weil der Menu-Button sonst immer "active" ist ...
                            Viele Grüße

                            Uli

                            Kommentar

                            • ph!L
                              Contao-Fan
                              • 04.11.2009
                              • 470

                              #15
                              wieso? Wenn du der Seite die Klasse "active" gibst, kannst du den Menüpunkt doch über body.klassenname .mod_navigation ul li.klassenname ansprechen, oder?!

                              Kommentar

                              Lädt...