we:listview type object

  • Hallo Zusammen,

    ich sitze gerade an einem kleinen Problemchen. Undzwar möchte ich ein Feld aus einem geparkten Objekt auslesen bzw. dieses bearbeiten/verändern.

    Über we:listview type="object" und <we:object> kriege ich keine Werte aus den Feldern zurück.
    Gibt es hier eine Möglichkeit oder ein bestpractice wie ich an die Daten komme?

    In älteren webEdition versionsn haben wir das teilweise über $DB_WE abgefragt, aber da wurden kürzlich in webEdition methoden privatisiert.

    Grüße aus Köln,
    Sebastian

  • Hallo Sebastian,

    folgendes sollte bei geparkten Objekten möglich sein:

    Das getElementS bezieht sich auf einen String, Int wäre getElementI

    PHP
    <?php
    /**
    * ab webEdition 9.0.0
    */// Neues Objekt für ein webEdition-Objekt erzeugen und mit der Dokument-ID initialisieren
    $object = new we_contents_objectFile();
    $object->initByID(5);
    $text = $object->getElementS('Titel');
    echo $text;
    ?>

    Ändern kannst du die Inhalte mit setElementS etc. darf dann nur kein we_publish sein, sondern we_save.

    https://documentation.webedition.org/entwickler-und-agenturen/tipps-und-rezepte/php/php-change-object-data.php

    Wieso sind die Objekte überhaupt geparkt? Gibts da einen Grund mit geparkten Objekten zu arbeiten?

  • Hallo zusammen, ich steige hier mal ein.

    In unserem Fall können Nutzer Objekte einreichen, die dann geprüft und veröffentlicht werden sollen. Der Nutzer soll aber immer die Möglichkeit haben seine eingereichten Objekte nachträglich zu bearbeiten - auch wenn sie geparkt sind.

    Eine Möglichkeit eine Listview über geparkte Objekte zu machen gibt es nicht oder?

    Der Nutzer (Kunde) wird im Objekt verknüpft. Ich könnte anhand der UserID also alle verknüpften Objekte auslesen und bearbeitbar machen, sofern diese nicht geparkt wären.

    Hat jemand eine Idee?


    Wie s.rudolph schon angemerkt hat, sind die $DB_WE Methoden um z.B. einen Select auszuführen privatisiert worden.


    Viele Grüße
    Oliver

  • Achso, du meintest wahrscheinlich, dass wir die Objekte veröffentlichen aber durchsuchbar = false ist und nach der Prüfung die Flag auf true gestellt wird.

    Das wäre in der Tat eine Möglichkeit.


    Viele Grüße
    Oliver

  • Achso, du meintest wahrscheinlich, dass wir die Objekte veröffentlichen aber durchsuchbar = false ist und nach der Prüfung die Flag auf true gestellt wird.

    Das wäre in der Tat eine Möglichkeit.


    Viele Grüße
    Oliver

    Ja genau, so könnt ihr diese ja in Listviews ausblenden mit visible="false", was ja einem Parken bei Objekten nahekommt. Vorausgesetzt, alle Templates berücksichtigen den Status entsprechend.

  • Hallo,

    Zusätzlich zur Durchsuchbarkeit kannst du auch mit unterschiedlichen Verzeichnissen (z.B. /objects/draft, /objects/public) und dem Workspace arbeiten um die Objekte im Backend besser nach Zustand zu trennen.

    Alternativ könnt ihr noch direkt mit SQL arbeiten um an die geparkten Objekte heranzukommen. Entweder via PHP oder über <we:listview type="sql"/>. Nachteil: Damit bist du nicht updatesicher.

    Last but not least: Du kannst natürlich einen Feature Request für die Berücksichtigung geparkter Objekte in der Listview in der Bugbase einbringen.

    Liebe Grüße,
    Sascha

  • Hallo,

    Zusätzlich zur Durchsuchbarkeit kannst du auch mit unterschiedlichen Verzeichnissen (z.B. /objects/draft, /objects/public) und dem Workspace arbeiten um die Objekte im Backend besser nach Zustand zu trennen.

    Alternativ könnt ihr noch direkt mit SQL arbeiten um an die geparkten Objekte heranzukommen. Entweder via PHP oder über <we:listview type="sql"/>. Nachteil: Damit bist du nicht updatesicher.

    Last but not least: Du kannst natürlich einen Feature Request für die Berücksichtigung geparkter Objekte in der Listview in der Bugbase einbringen.

    Liebe Grüße,
    Sascha

    Verrückt, die listview type="sql" kannte ich nicht. Leider ist dort aktuell ein Bug drin, daher fällt diese Möglichkeit auch weg. Via PHP kann ich aber nicht mit $DB_WE arbeiten, sondern muss mir das ganze selbst zusammenbauen, oder?

    Den Feature-Request reiche ich gleich mal ein.


    Das sollte trotzdem funktionieren, ihr könnt ja basierend auf dem Status einen 404 Header setzen und ein stellvertretendes Template ausgeben.

    Das wird dann wohl der Workaround sein, den wir einsetzen müssen..


    Danke euch!

Participate now!

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