1. Dashboard
  2. Articles
  3. Forum
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. webEdition Forum
  2. Forum
  3. Deutschsprachiges Support Forum
  4. webEdition Administrationsoberfläche
  5. webEdition Module
  6. Sammlungen

Sprachlink auslesen

  • weisspunkt
  • June 19, 2024 at 4:31 PM
  • weisspunkt
    Beginner
    Posts
    10
    • June 19, 2024 at 4:31 PM
    • #1

    Liebe webEdition Community

    Mein neustes Website-Projekt ist zweisprachig. Nun bin ich auf folgendes Problem gestossen:
    Ich habe einer Übersichtsseite erstellt, bei welcher ich über eine Sammlung, Inhalte aus Dokumenten darstelle. Nun bräuchte ich noch den Link zur alternativen Sprache. Diesen kann ich jedoch über kein Feld aufrufen.

    Hat mir hier jemand einen Tipp oder habe ich etwas übersehen? (Web Edition Version 9.2.3)

    Ich danke euch herzlich für eure Rückmeldung
    Markus

  • e-site
    Student
    Reactions Received
    7
    Posts
    98
    • June 20, 2024 at 8:23 AM
    • #2

    Hallo, schau dir mal diese Seite an: https://www.webedition.org/listview-type-languagelink

    Die Seiten müssen unter Eigenschaften -> Sprachen miteinander verknüpft werden.

    Gruß
    Heiko

  • weisspunkt
    Beginner
    Posts
    10
    • June 20, 2024 at 3:42 PM
    • #3

    Lieber Heiko

    Herzlichen Dank für deine Rückmeldung

    Die Seiten sind miteinander verknüpft jedoch. Mit listview type languagelink funktioniert dies auch hervorragend. Das Problem ist jedoch, dass ich den Pfad oder ID der alternativen Sprachseite nicht in einer listview type document oder Sammlung auslesen kann.

    Hast du hier auch eine Idee? Ich stelle mir dies etwa wie folgt vor:

    <we:listview type="document" name="artikel" workspaceID="150">
        <we:repeat>
            /////// So ein Feld stelle ich mir vor /////
            <we:field type="text" name="WE_ALTERNATIVE_LANGUAGEPATH" />
        </we:repeat>
    </we:listview>

    Es darf sehr gerne auch eine PHP Lösung sein, jedoch wäre ich froh, wenn Sie einigermassen updatesicher ist.


    Herzliche Grüsse
    Markus

  • WBTMagnum
    Student
    Reactions Received
    11
    Posts
    139
    • June 20, 2024 at 10:57 PM
    • #4

    Hallo Markus,

    Ich fürchte, der Language Link (es können auch mehrere sein) steht innerhalb einer <we:listview type="document"> nicht so ohne weiteres zur Verfügung.

    Ich habe das jetzt auch kurz mit einer eingebetteten <we:listview type="languagelink"> probiert. Die Listview wurde mir innerhalb einer <we:listview type="document"> aber nicht ausgewertet (zumindest in wE8).

    Man müsste wohl die <we:listview type="languagelink"> so erweitern, dass sie auch innerhalb von <we:listview>s funktionieren und die Daten des aktuellen Dokuments bzw. des Objekts berücksichtigt.

    Liebe Grüße,
    Sascha

    Edited once, last by WBTMagnum (June 21, 2024 at 3:06 PM).

  • weisspunkt
    Beginner
    Posts
    10
    • June 21, 2024 at 8:52 AM
    • #5

    Hallo Sascha

    Herzlichen Dank für deine Rückmeldung. Folgendes konnte ich erstellen:

    Ich habe auf der Seite von wo aus die Daten für das Listview folgendes erstellt.

    Code
    <we:listview type="languagelink" name="sprachen" pagelanguage="top" showself="false" order="Locale" objectseourls="true" hidedirindex="true" recursive="true">
        <we:repeat>
            <we:field name="we_path" to="global" nameto="alternateLangPath"/>
        </we:repeat>
    </we:listview>
    <input type="text" name="alternateLang" value="\$alternateLangPath">

    Somit kann ich den Pfad im Listview abfragen. Das Problem ist, dass wenn sich der Pfad ändert, dieser nicht automatisch aktualisiert wird.

    Daher die Frage: Gibt es eine Möglichkeit, eine dynamische Variable an das Listview zu übergeben? Vielleicht wäre dies ein anderer Ansatz.

    Herzliche Grüsse
    Markus

  • WBTMagnum
    Student
    Reactions Received
    11
    Posts
    139
    • June 21, 2024 at 3:12 PM
    • #6

    Hallo Markus,

    Wenn ich dich recht verstehe, dann speicherst du die andere Sprache jetzt einfach als eigenes Feld in den Dokumenten? Das ist natürlich auch ein Ansatz, bei mehreren Sprachen wir das allerdings komplizierter.

    Bzgl. dem Pfad: Kannst du statt `we_path` nicht einfach `we_id` verwenden?


    LIebe Grüße,
    Sascha

  • weisspunkt
    Beginner
    Posts
    10
    • June 24, 2024 at 8:43 AM
    • #7

    Hallo Sascha

    Herzlichen Dank für deine Rückmeldung. Das «we_path» durch «we_id» ersetzen sollte kein Problem darstellen. Was ich jedoch das Problem habe, die ID muss nun immernoch zusätzlich eingetragen werden. Wenn ich eine dynamische Variable an ein Listview weitergeben kann, wäre dies einfacher und flexibler. Besteht diese Möglichkeit?

    Herzliche Grüsse
    Markus

  • WBTMagnum
    Student
    Reactions Received
    11
    Posts
    139
    • June 24, 2024 at 9:21 PM
    • #8

    Hallo Markus,

    Mir ist leider nicht klar, wie du das meinst? Also in welchem Kontext. Beziehst du dich hier auf den Editmode oder auf das Frontend? Skizziere vielleicht kurz, was du machen willst.

    Liebe Grüße,
    Sascha

  • weisspunkt
    Beginner
    Posts
    10
    • June 25, 2024 at 10:48 AM
    • #9

    Hallo Sascha

    Also Folgendes vorgehen würde ich mir wünschen

    Produktdetail Seite:

    Code
    <we:listview type="languagelink" name="sprachen" pagelanguage="top" showself="false" order="Locale" objectseourls="true" hidedirindex="true" recursive="true">
        <we:repeat>
            <we:field name="we_id" to="global" nameto="alternateLangId"/>
        </we:repeat>
    </we:listview>


    Nun möchte ich auf der Produktübersichtseite die Variable $GLOBALS['alternateLangId'] auslesen.

    Produktübersichtseite:

    PHP
    <we:listview name="ids" type="document" workspaceID="160" searchable="false" order="we_id" desc="true">
    	<we:repeat>
    			<?php echo $GLOBALS['alternateLangId']; ?>	
    	</we:repeat>
    </we:listview>

    Das dies so nicht funktioniert ist mir bewusst. Nur gibt es eine Möglichkeit die Variable $GLOBALS['alternateLangId'] von der Produkt Detailseite auf der Produktübersichtsseite darzustellen?

    Oder anders gefragt: Kann ich eine Globale Variable von der Produkt Detailseite an ein Listview Element auf der Produktübersichtsseite übergeben?

    Ich hoffe das ist genug verständlich geschrieben. Tut mir Leid für die komplizierte Erklärung. :|

    Herzliche Grüsse
    Markus

  • WBTMagnum
    Student
    Reactions Received
    11
    Posts
    139
    • June 25, 2024 at 3:08 PM
    • #10

    Hallo Markus,

    Danke! Mit deiner Beschreibung ist mir nun klar, wie du das meinst. Leider hab ich auf die Schnelle auch keine Lösung parat. Am ehesten würde ich das mit einem Hook umsetzen. Mir fehlt nur gerade die Idee, wie man im Hook an die Language Links ran kommt.

    Aber vielleicht hat da jemand eine schlauere Idee.

    Liebe Grüße,
    Sascha

  • weisspunkt
    Beginner
    Posts
    10
    • June 26, 2024 at 10:17 AM
    • #11

    Hallo Sascha

    Herzlichen Dank für deine Unterstützung. Ich habe nun alles von Path auf Id umgestellt.

    Code
    <we:listview type="languagelink" name="sprachen" pagelanguage="top" showself="false" order="Locale" objectseourls="true" hidedirindex="true" recursive="true">
        <we:repeat>
            <we:field name="we_id" to="global" nameto="alternateLangId"/>
        </we:repeat>
    </we:listview>
    <input type="text" name="alternateLang" value="\$alternateLangId">

    Grundsätzlich funktioniert es so ganz gut. Es muss jetzt einfach immer kontrolliert werden ob die ID auch wirklich auf das fremdsprachige Dokument zeigt. Da es an dieser Seite nicht extrem viele Änderungen gibt, kann ich gut mit diesem leben.

    Herzliche Grüsse
    Markus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Donations

200.00 EUR

Donate now

Tags

  • Sprachen
  • languagelink
  • alternative sprache
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™