Jetzt habe ich das "Problem" gefunden. Ich dachte, ich muss die ID des verknüpften Objektes nutzen, um es dann aufzurufen. Jetzt habe ich gerade entdeckt, ich kann direkt auf die Feldnamen des verknüpften Objekts zugreifen. Das war mir nicht klar. Aber so ist es noch einfacher. webEdition gefällt mir immer besser.
Posts by Icosa
-
-
Hallo Sascha,
oh ja, stimmt. Es ist ja eine Variable und muss entsprechend das $ drin haben.
Aber mein Problem ist einen Schritt vorher da. Die Variable wird gar nicht erst gefüllt, da ich wohl nicht den richtigen Feldnamen für das Objektfeld angebe.
Die Zeilen 3 und 5 sollen mir im Frontend die Variable ausgeben, damit ich überhaupt sehe, ob es funktioniert. Aber sie bleibt bei jedem Versuch leer.
Aber durch deinen Beitrag sollte schonmal ein Folgeproblem vereitelt sein, falls ich das aktuelle in den Griff bekomme, vielen Dank.
-
Hallo Zusammen,
ich habe zwei Klassen und in den Objekten einer Klasse, habe ich mit einem Feld des Typs "Objekt" je ein Objekt der anderen Klasse zugewiesen.
Aber wie kann ich das jetzt im Template nutzen?
Das ist mein bisheriger Code:
PHP<we:listview type="object" classid="3" condition="$cond" searchable="false" languages="self"> <we:repeat> TEST0: <we:field type="int" name="contacts" /> <we:field type="int" name="contacts" to="local" nameto="contactid" /> <?php echo '<span>Kontakt-ID: ' . $contactid . '</span>'; ?> <we:object id="contactid"> TEST1: <we:field type="text" name="Contact_information" /> </we:object> </we:repeat> </we:listview>
"contacts" heißt die Klasse, der zu verknüpfenden Objekte. Wenn ich ein Feld mit Typ Objekt erstelle, kann ich es nicht selbst benennen, sondern es bekommt den Namen der verknüpften Klasse.
In der Datenbank heißt das Feld aber einfach "object_4", wobei die 4 die ID der anderen Klasse ist. Doch egal ob ich "contacts", "/contacts" (wie es in der Klassenbearbeitung angezeigt wird), "4" oder "object_4" im name-Attribut des field-Tag benutze, ich bekomme kein Ergebnis hinter TEST0 oder Kontakt-ID und TEST1 wird garnicht angezeigt.
Was mache ich falsch?
-
-
Ja, LV sollte nur Objekte ausgeben, unabhängig vom Rest. Umso skurriler, dass keine Objekte ausgegeben werden, wenn das Dokument in einem anderen Verzeichnis liegt, selbst, wenn es eine komplett kopierte Verzeichnisstruktur ist.
Es ist gleich, ob ich ein neues Dokument anlege oder ein vorhandenes kopiere. Ist ein Dokument in dem Verzeichnis, indem sie bisher funktioniert haben, werden die Objekte angezeigt, ansonsten nicht.Das passiert selbst, wenn ich die Condition aus der LV rausnehme.
Gerade hatte ich ein klein wenig Hoffnung, da ich in der Klasse unter Arbeitsbereich eine Einschränkung gefunden hatte. Aber selbst nach deren Umstellung und Erweiterung auf das gewünschte Verzeichnis funktioniert es nicht.
(Die hier eingetragenen Vorlagen sind nur drin, weil ich die beim oberen nicht löschen kann. Die Objekte werden anderweitig aufgerufen, oder sollten es zumindest .)
-
Hallo,
ich habe gerade ein seltsames Problem.
In einem Verzeichnis liegen PHP-Dateien, die per Listview Objekte in der DB anzeigen.
Sobald ich eine Datei in ein anderes Verzeichnis kopiere oder verschiebe, wird in der Datei im neuen Verzeichnis im <we:repeat> Tag nichts mehr ausgegeben. Schiebe ich die Kopie zurück in das Verzeichnis, in dem sich das Original befindet, geht es (wieder).
Ich kann mir nicht erklären, was da schief läuft. Ich habe keinen Code drin, der sich auf einen Pfad relativ zur PHP-Datei bezieht und Rebuilds schaffen keine Abhilfe.
Das ist der relevante Code aus dem Template:
PHP
Display More<we:ifEditmode> <we:select type="csv" name="cat_wpg" values="produktgruppe_code,produktgruppe2_code" /> <we:input type="text" size="10" name="cat_pgc" /> </we:ifEditmode> <we:ifNotEditmode> <we:input type="choice" name="cat_wpg" to="local" /> <we:input type="text" name="cat_pgc" to="local" /> <?php $condLang; switch ($pageLang) { case "de": $condLang = "lang_de"; break; case "fr": $condLang = "lang_fr"; break; } $cond = "{$cat_wpg}='{$cat_pgc}' AND {$condLang}='j'"; ?> <we:listview type="object" classid="1" condition="$cond" searchable="false"> <we:repeat> <span>Hallo?</span> […] </we:repeat> </we:listview> </we:ifNotEditmode>
[…] ist ein Platzhalter mit we-Tags und PHP-Code, was aber egal sein sollte. Es wird schon der Span "Hallo?" nicht ausgegeben.
Selbst wenn ich das "condition"-Attribut im listview-Tag lösche, kommt nichts.
Was könnte hier kaputt sein?Liebe Grüße
Icosa
-
Ja
Ah, mit Master-Templates hab ich noch gar nicht gearbeitet. Das wäre eine Lösung, um den Wust ein bisschen aufzuräumen, ohne zu viel zu wurschteln. Danke Finn.
-
Leider nein. Es gab mehrere Vorgänger die da an derselben Website entwickelt haben und jeder hat auf sein eigenen Stil neu aufgebaut. Falls es nicht anders geht, muss ich eben selbst eine Master-Datei für meine Zwecke bauen und in zig Vorlagen includen lassen.
-
Hi Zusammen,
ich muss auf einer Seite mehrere http-Header einbinden. Ich wusste zuvor nicht, dass die über die .htaccess nicht funktionieren, wenn eine Seite über PHP geladen wird. In PHP selber muss man dafürheader('headername: wert') nutzen, aber das funktioniert nur, wenn vor einer ersten Übertragung von Daten ausgeführt wird. Da dafür aber ein massiver Umbau der Templates notwendig wäre, suche ich einen Umweg.
Gibt es eine Konfigurationsdatei von webEdition in die man dafür verwenden kann? Oder alternativ eine beim Seitenaufruf genutzte PHP-Datei, deren Modifikation selten oder besser gar nicht durch Updates zurückgesetzt wird?
Oder gibt es gar einen offizielleren Weg dafür?
Viele Grüße
Icosa
-
Moin,
ok, habe ich gemacht. Danke. Wusste nicht, dass es die Seite gibt. Bin relativ neu in allem, was mit webEdition zu tun hat.
Soll ich prinzipiell, wenn ich sicher bin, dass mein Problem auf einen Bug zurück zu führen ist, auf einen Foreneintrag verzichten und es nur auf dieser Seite posten?
-
Hallo Zusammen,
ich hatte per CSV-Import Objekte importiert und vergessen "durchsuchbar" anzuhaken. Ohne dies werden sie nicht in einer Listview angezeigt.
Ich habe versucht, sie nochmal hochzuladen und hab die Option "Ersetzen" gewählt, dabei wird der Import aber vorzeitig beendet, vermeintlich erfolgreich. Jedoch sind die Objekte nicht ersetzt und im Fehlerprotokoll habe ich verschiedene Einträge.
Ich wollte zwei davon hier in Spoilern als Beispiel anhängen, aber dann war die maximale Zeichenanzahl für den Beitrag zu hoch. Daher sind die beiden Fehler als Datei angehängt:
Wenn ich die Objekte per SQL aus der Datenbank lösche und nochmals mit "durchsuchbar" importiere, geht es. Aber da man dieses Feld leicht vergisst und nicht als Standard setzen kann, wäre eine funktionierende Ersetzen-Funktion schon angenehmer.
Ich benutze webEdition 9.2.0 mit PHP 8.1 auf einem aktuellen Plesk.
LG Icosa
-
Es gibt zwar noch kein "richtiges" Update, aber die Neuinstallation von 9.2.0 hatte eine höhere SVN Nummer. Mit der "Neuinstallation" ist an sich auch der Fehler behoben und es werden jetzt die gewünschten Felder im Wysiwyg angezeigt.
Aber jetzt gibt es ein neues Problem. Der Quelltext-Editor (aus dem Wysiwyg aufgerufen) hat in einem aktuellen Chrome keinen Inhalt. Mit einem älteren Safari geht es aber.
Soll ich doch noch das Update abwarten oder macht es Sinn, gleich einen neuen Thread hierfür zu öffnen?
-
Ah, super. Freut mich zu hören.
Vielen Dank für die Info mokraemer.
-
Hallo Zusammen,
irgendwann vor webEdition 9.2 hatte ich eine textarea mit wysiwyg, die so funktioniert hat, wie sie sollte. Vor kurzem habe ich das Update eingespielt und jetzt werden weder die Funktionen in "commands" noch die allgemeinen Einstellungen für commands unter we:Tags angezeigt, oder nicht angegebene Funktionen ausgeblendet. Es bleibt stets der gleiche (Standard-)Funktionsumfang bestehen.
Aktuell sieht meine Textarea so aus:
HTML<we:textarea wysiwyg="true" name="content" width="100%" height="300px" commands="bold,italic,underline,subscript,superscript,removeformat,list,align,insert,essential,pastetext,editsource" formats="p,h3" imagestartid="24" editorcss="4,5" />
Ist es ein Bug oder kann es sein, dass ich da irgendwo einen Syntaxfehler habe?
Viele Grüße