Ich würde an der Stelle auch noch mal auf das relativ neue Attribut to=local hinweisen, dann braucht man nicht auf Globals zugreifen.
Ah ja richtig, ist noch Code aus ner älteren WE Version.
Ich würde an der Stelle auch noch mal auf das relativ neue Attribut to=local hinweisen, dann braucht man nicht auf Globals zugreifen.
Ah ja richtig, ist noch Code aus ner älteren WE Version.
So könntest du es machen, oder eben wie Nils es schon gesagt hat, die Struktur direkt. allerdings ist ein json_encode sicherer wenns darum geht, am Ende ne korrekte Syntax zu haben.
<?php
$i = 0;
$GLOBALS['content'] = array();
?>
<we:listview type="object" classid="$classID" order="we_moddate" desc="true">
<we:repeat>
<we:field type="text" name="Content" to="global" nameto="content[$i][Content]" />
<we:field to="global" type="int" name="we_id" nameto="content[$i][ID][value]" />
<we:field type="int" name="ID_User" to="global" nameto="content[$i][ID_User][value]" />
<we:field type="date" name="we_creationdate" format="date_time" to="global" nameto="content[$i][creationDate][value]" />
<we:field type="date" name="we_published" format="date_time" to="global" nameto="content[$i][modDate][value]" />
<?php $i++;? >
</we:repeat>
</we:listview>
<?php
echo json_encode($GLOBALS['content']);
?>
Display More
Schau mal hier https://documentation.webedition.org/entwickler-und…object-data.php, im Prinzip funktioniert das sehr ähnlich, du muss das Objekt eben nur mit der entsprechenden ID initialisieren.
Mit we:write und we:form kannst du grundsätzlich Objekte schreiben.
Du kannst dir alternativ auch was komplett custom bauen.
Achtung, wenn du kein Login nutzt, achte auf Security!
hier mal nen PHP Ansatz Objekte zu erstellen. Je nach WE Version kann es leichte Unterschiede in der Initialisierung des Objekts geben.
// Neues webEdition-Objekt erstellen
$objDoc = new we_contents_objectFile();
$objDoc->TableID = $classID;
// Parent-Ordner setzen
$objDoc->ParentID = $parentID;
$objDoc->IsSearchable = 1;
// Basis-Felder setzen
$objDoc->Filename = $objektname; // Titel/Name des Objekts
// Felder befüllen
$objDoc->setElementS('Title', $angebotsname); // Titel des Objekts
$objDoc->setElementI('Sortierfeld', $sortierfeld);
$objDoc->setElementS('Angebotsname', $angebotsname);
$objDoc->setElementS('Datum', $datum);
$objDoc->setElementS('Wann', $wann);
$objDoc->setElementS('Kosten', $kosten);
$objDoc->setElementS('Beschreibung', $beschreibung);
// Objekt veröffentlichen
$objDoc-> we_publish();
Display More
Zum Bearbeiten: https://documentation.webedition.org/entwickler-und…object-data.php
Die beiden Warnings kannst du erstmal ignorieren. Wichtig ist im ersten Schritt immer alles was eine Exception wirft, denn das stoppt das Script. Also in dem Fall gibts da scheinbar ein Typfehler.
Ich habe gerade mal Testweise unter PHP 8.3 ein Update von 9.3.1 auf 10.0.3 durchführt und das ist ohne Probleme durchgelaufen. Datenbank: Maria 10.11.13
Kurze Frage, hat auch nur mit den Systemeinstellungen > System > cron zu tun.
Werden dort Cronjobs per triggerWEtask.php angezeigt? Geht es dabei nur um den Zeitplaner? Sorry, interessiert mich einfachGruß
Heiko
Das ist eine gute Frage, kann ich so ohne weiteres nicht sagen. Ich habe bisher den Zeitplaner immer über den Aufruf-Trigger genutzt, nicht mit Cron. Bzw wenn WE mit Cron, dann immer mit eigenen Endpunkten.
Okay, das sollte dann nicht von dem MySQL Bug betroffen sein.
Bist du auf der Nightly? Oder welche DB Version ist das genau?
Das kannst du validieren idem du im Backend einmal die Datenbank öffnest.
Das Feld könntest du sonst erstmal manuell ergänzen. Ist die Frage warum es nicht mehr da ist...
Moin Bruno,
schau mal im Error Log, da sollte hoffentlich was drin stehen.
LG
Finn
Moin Chrisoph,
ich bin mir gerade nicht sicher, ob das so im Listview möglich ist.
Was ich mal probieren würde:
Wenn du an die Id des referenzierten Objekts kommst mit we:object direkt auf das Objekt zuzugreifen.
Ich habe auch keine Probleme.
In die 10.0.3 ein Backup einer 10.0.1 einzuspielen, ist allerdings nicht schlau!
Installiere am besten die 10.0.1 und spiele das Backup ein, anschließend ein WE-Update. Deine Datenbank hat da offensichtlich keine korrekte Konfiguration.
Tatsächlich wird die Funktion kaum genutzt, weil sie auch lange fehlerhaft war.
Spricht was dagegen, den Export direkt aus der Datenbank raus zu machen? Als Übergangslösung?
Gute Frage, einige Updates lassen sich sicher über das Dateisystem durchführen. Wäre ich allerdings sehr vorsichtig mit, wie du schon selbst erkannt hast, falls irgendwelche Änderungen an Datenbank oder sonstigen Strukturen durchgeführt werden.
Was du aber natürlich machen kannst, DB und Files kopieren, Update lokal durchführen und dann wieder zurück kopieren.
Der Quellcode liegt hier, falls das kurzfristig hilft:
Rein intuitiv würde ich sagen, ist ein Wechsel von MySQL zu Maria DB weniger problematisch als in die andere Richtung.
Wenn der Rest läuft, dann spricht eigentlich nichts dagegen, das weiter so laufen zu lassen.
Moin Christian,
eine Person mit Kenntnissen zu Webtechnologien sollte sich relativ problemlos in webEdition einarbeiten können. Erste Anlaufstelle wäre die Tagreferenz https://tags.webedition.org/.
Man braucht keine tiefergehenden PHP Kenntnisse o.Ä. schaden tuts natürlich nicht.
Ich sende dir mal ne Mail.
Moin,
in den 9.x Versionen lässt es sich nicht deaktivieren. Ich bin mir gerade unsicher bezüglich des Grundes dafür, wäre dann eventuell ein FR für die aktuelle Version die Möglichkeit wieder zu aktivieren.
Könntest du das Formular ggf. in mehrere Schritte / Seiten aufteilen und die Antworten in einer Session sichern? Dann kannst du beim Wechseln der Formularseite jeweils den Token wieder erneuern.