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 Feature Requests

FR: we:conditionAdd mit field type Multiobject

  • coolworx
  • February 25, 2023 at 4:20 PM
1st Official Post
  • coolworx
    Moderator
    Reactions Received
    3
    Posts
    46
    • February 25, 2023 at 4:20 PM
    • Official Post
    • #1

    Augrund aktueller Anforderungen in gleich drei Projekten fiel mir auf, dass ein Konstrukt einer <we:condition> in Zusammenhang mit einem Multiobjekt-Feld in der Klasse nicht funktioniert bzw. noch nicht berücksichtigt ist.

    Zwar habe ich im alten Forum einige Einträge entdeckt (z. B. https://forum.webedition.org/viewtopic.php?t=41623 ) und auch einen ziemlich alten Eintrag in der Bugbase unter https://qa.webedition.org/view.php?id=8535 , konnte dies nun aber leider nur mit PHP und somit nicht updatefähig temporär umsetzen.

    Obwohl diese Anforderung ansich schon länger bekannt ist, möchte ich es dennoch hier als FR noch einmal vorstellen.

    Inhalte eines Multiobjektfelds in der Condition verfügbar machen, und zwar unabhängig davon, ob es einen oder mehrere Einträge darin gibt.

    Viele Grüße
    Ulrich

    coolworx

    https://www.coolworx.de

    • Next Official Post
  • Finn
    Administrator
    Reactions Received
    12
    Posts
    295
    • February 26, 2023 at 10:34 AM
    • Official Post
    • #2

    Finde ich eine sinnvolle Ergänzung. Das Problem hatte ich selbst auch schon.

    https://www.wg-werbeagentur.de

    • Previous Official Post
    • Next Official Post
  • haydi
    Moderator
    Reactions Received
    5
    Posts
    56
    • July 5, 2023 at 7:30 AM
    • Official Post
    • #3

    Wie sähe dann der we-Tag konkret aus?

    • Previous Official Post
    • Next Official Post
  • Finn
    Administrator
    Reactions Received
    12
    Posts
    295
    • July 5, 2023 at 11:24 AM
    • #4

    das we:condiditonAdd bräuchte theoretisch ein Attribut um zu definieren, das es sich bei dem Feld um ein MultiObjekt Feld handelt.

    https://www.wg-werbeagentur.de

  • WBTMagnum
    Student
    Reactions Received
    14
    Posts
    163
    • July 15, 2023 at 11:34 AM
    • #5

    Hallo,

    Wenn ich mich recht erinnere, dann ist das nicht ganz trival umzusetzen und kann von der Performance durchaus problematisch werden. Das wir wohl auch der Grund sein, warum das bislang noch nicht angegriffen wurde. Irgendwo hat das Objekt-Modell von wE einfach auch seine Grenzen.

    Liebe Grüße,

    Sascha

  • coolworx
    Moderator
    Reactions Received
    3
    Posts
    46
    • July 15, 2023 at 4:34 PM
    • Official Post
    • #6

    Also, wenn ich das richtig verstanden habe, wurde das bereits gelöst und funktioniert - auch ohne Attribut siehe 0013977: FR: we:conditionAdd mit field type Multiobject - webEdition CMS - Quality Assurance
    Ich habe das auch aktuell schon im Einsatz.

    Viele Grüße
    Ulrich

    coolworx

    https://www.coolworx.de

    • Previous Official Post
    • Next Official Post
  • WBTMagnum
    Student
    Reactions Received
    14
    Posts
    163
    • July 15, 2023 at 10:47 PM
    • #7

    Hallo Ulrich,

    Interessant! Kannte ich noch nicht. Wenn ich das Ticket und die Doku richtig verstehe, dann kann man damit aber "nur" IDs von Objekten suchen, nicht aber in deren Inhalten. Oder ist das einfach noch nicht richtig beschrieben?

    Liebe Grüße,

    Sascha

  • coolworx
    Moderator
    Reactions Received
    3
    Posts
    46
    • July 16, 2023 at 9:53 AM
    • Official Post
    • #8

    Hallo Sascha,

    richtig, und anhand der ID kannst Du mittels einer LV die Inhalte ausgeben. Nachstehend habe ich mal ein Beispiel aus einem Projekt kopiert. Hier gibt es Workshops, die von mehreren Referenten gehalten werden (Multiobject-Feld in der Klasse Workshops zur Auswahl eines oder mehrerer Referenten)

    Code
    <we:object id="\$id" comment="Objekt Seite eines Referenten">
        <we:field name="we_id" nameto="conditionValue" to="global" />
    
        <we:comment>...weitere Inhalte des Referenten</we:comment>
    
        <we:condition name="currentWorkshops">
            <we:comment>WorkshopReferenten ist MultiObject-Feld mit mehreren Einträgen (IDs)</we:comment>
            <we:conditionAdd field="WorkshopReferenten" value="\$conditionValue" compare="like" />
        </we:condition>
        <we:listview type="object" classid="14" name="workshops" order="WorkshopBeginn" condition="currentWorkshops">
            <we:ifFound>
                <we:repeat>
                    <we:comment>Inhalte des zutreffenden Workshops</we:comment>
                </we:repeat>
    
            </we:ifFound>
        </we:listview>
    
    </we:object>
    Display More

    Viele Grüße
    Ulrich

    coolworx

    https://www.coolworx.de

    • Previous Official Post
    • Next Official Post
  • christobal
    Student
    Posts
    108
    • August 26, 2024 at 12:48 PM
    • #9

    Grüß Dich Ulrich,

    genau das würde ich brauchen!
    Sollte das bei webEdition-Version 9.2.3 funktionieren?

    Grüße aus Tirol, Christoph

    Christoph Kaspar

    BIG Detail, Kaspar & Sigl OG

    Riedgasse 8b

    A-6020 Innsbruck

    Tirol-Österreich

    bigdetail.com

  • coolworx
    Moderator
    Reactions Received
    3
    Posts
    46
    • August 27, 2024 at 6:56 PM
    • Official Post
    • #10

    Hallo Christoph,

    klar, funktioniert auch in 9.2.3 wir setzen das sehr häufig ein.

    Viele Grüße
    Ulrich

    coolworx

    https://www.coolworx.de

    • Previous Official Post
    • Next Official Post
  • christobal
    Student
    Posts
    108
    • August 28, 2024 at 12:09 PM
    • #11

    Grüß Dich Ulrich, danke für deine Antwort und darf ich Dich was fragen?

    Ich habe eine Klasse "Referenzen" mit Multiobjekt "Funktionen".

    (Referenzen sind unsere Kunden und Funktionen sind Sachen, die wir auf deren Websites eingebaut haben. Z.B.: barrierefrei, Podcast, Gutschein, Newsletter u.v.a.m.)

    Will ich nun eine listview anlegen, die mir alle Referenzen auflistet, die Multiobjekt "Podcast" (ID: 2149) haben, funktioniert dein Script leider nicht?!

    hier die Condition:

    Code
    <we:condition name="condi">
    <we:conditionAdd field="Funktionalitaet" value="2149" compare="LIKE" />
    </we:condition>

    und hier die Listview:

    Code
    <we:listview type="object" name="webref" classid="11" order="Webadresse" condition="\$condi">
    ...
    </we:listview>

    wenn ich mir die MYSQL-Daten der tbl_Object_11 anschau, gibt es eine Spalte "multiobject_Funktionalitaet", wo die IDs drinnstehen, z.B.: 2137,2149,2136,2152,2135,2231 - das sollte er dann doch finden, oder?

    Bitte nochmals um Hilfe!

    Christoph Kaspar

    BIG Detail, Kaspar & Sigl OG

    Riedgasse 8b

    A-6020 Innsbruck

    Tirol-Österreich

    bigdetail.com

  • Finn
    Administrator
    Reactions Received
    12
    Posts
    295
    • August 28, 2024 at 3:18 PM
    • Official Post
    • #12

    Moin Christoph,
    mach doch mal den Test in der DB direkt. Ich meine mit LIKE alleine kommst du da nicht weiter, du brauchst auf jeden Fall ne Wildcard.

    Du kannst dir die Condition ja mit $GLOBALS['condi'] ausgeben lassen.

    W3Schools.com
    W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript,…
    www.w3schools.com

    https://www.wg-werbeagentur.de

    • Previous Official Post
    • Next Official Post
  • christobal
    Student
    Posts
    108
    • August 28, 2024 at 4:08 PM
    • #13

    Vielen Dank Finn, das wars, hatte ich vergessen!

    Nur wenn ich die Multiobjekte in eine select umwandle, wie mach ich das, dass dann die condition richtig geschrieben wird?

    Bitte nochmals um Hilfe!

    PHP
    <we:listview type="object" name="fu" classid="43" order="Funktion">
    <select to="global" nameto="fuObjectId" >
    <option selected>Funktion</option>
    <we:repeat><option value="<we:field name="we_id" />"><we:field name="Funktion"/></option></we:repeat>
    </select>
    </we:listview>
    
    <we:condition name="condi">
    <we:conditionAdd field="Funktionalitaet" value="%2149%" compare="LIKE" />
    </we:condition>
    
    <?php echo $condi; ?>
    
    <we:listview type="object" name="webref" classid="11" order="Webadresse" condition="condi">
    Display More

    Christoph Kaspar

    BIG Detail, Kaspar & Sigl OG

    Riedgasse 8b

    A-6020 Innsbruck

    Tirol-Österreich

    bigdetail.com

  • Finn
    Administrator
    Reactions Received
    12
    Posts
    295
    • August 28, 2024 at 4:16 PM
    • Official Post
    • #14

    Der select muss dann in ein Formular, du musst die Daten ja übergeben, entweder machst du das per post oder get. bei der conditionAdd kann auch eine variable statt der value gesetzt werden.

    https://www.wg-werbeagentur.de

    • Previous Official Post
  • christobal
    Student
    Posts
    108
    • August 28, 2024 at 4:35 PM
    • #15

    ok, danke, mal schauen, ob ich das zusammenbringe!

    Christoph Kaspar

    BIG Detail, Kaspar & Sigl OG

    Riedgasse 8b

    A-6020 Innsbruck

    Tirol-Österreich

    bigdetail.com

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

  • condition
  • listview
  • multiobject
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™