Frage zu CMS_VAR & CMS_VALUE

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
samse
Beiträge: 48
Registriert: Di 1. Sep 2015, 09:05
Kontaktdaten:

Frage zu CMS_VAR & CMS_VALUE

Beitrag von samse » Do 15. Jun 2017, 12:18

Hi Zusammen

Ich hab mal eine Frage zu CMS_VAR und CMS_VALUE.
Ich habe einen Modul erstellt, bei dem man in der Konfiguration im Backend verschiedene Werte setzen kann. Nun muss ich aus einem ANEREN Artikel diese Werte abholen gehen. Dies führt zu meiner Frage: Wo werden diese Werte abgespeichert? Ich habe mehr oder weniger meine ganze Datenbank durchforstet und nicht gefunden, wo diese gespeichert sind..

Ich weiss, dass ich die Werte z.B. in ein CMS_HTMLHEAD speichern kann mit "conSaveContentEntry", aber dazu muss der Endbenutzer noch einmal in den Editormodus. Da ich immer von einem DAU ausgehen muss, kann es sein, dass er das nicht macht.

Also wie bekomme ich diese Daten aus einem anderen Artikel raus? Die Klasse "cApiArticleLanguage" bietet auch keine Methode, um diese Werte zu bekommen.

Danke und Grüsse aus der Schweiz
Samse

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von Faar » Do 15. Jun 2017, 12:55

Diese Klasse hier verarbeitet diese CMS-Dinger: https://api.contenido.org/con490/class- ... tract.html
Vielleicht findet sich darin ein Hinweis.

Ich glaube aber, dass es sich in der con_content als XML abgespeichert befindet. Dort finden sich nämlich solche Daten.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

samse
Beiträge: 48
Registriert: Di 1. Sep 2015, 09:05
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von samse » Fr 16. Jun 2017, 07:14

Hi Faar

Danke für deine Antwort.
Ich bin mir nicht ganz sicher, wie diese Klasse verwenden soll..?
Was müsste ich machen um z.B. die CMS_VALUE[1] aus dem Artikel mit der idart 2 zu bekommen?

Grüsse
Samse

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von homtata » So 18. Jun 2017, 23:16

Ich denke, dass das in der Form so gar nicht klappt, mit der Klasse vor allem nicht. Es geht ja nicht nur darum, die VAL und VAR aus dem ARTIKEL zu kriegen, sondern aus dem MODUL X eines Artikels Y. Das geht bestimmt höchstens über eine mehrstufige Abfrage und nur mit Kenntnis der Modul-ID oder Container-ID.

Kannst du denn keine andere Routine nutzen, um solche Werte übergreifend abzuspeichern? Oder die Mandanteneinstellungen, die der Kunde bearbeiten kann? Oder ein Spezialartikel, der Werte abspeichert in CMS_TEXT oder sowas, an die man viel einfacher kommt als an die Modulkonfigurationen?
LG

samse
Beiträge: 48
Registriert: Di 1. Sep 2015, 09:05
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von samse » Mo 19. Jun 2017, 07:09

Hi Homtata

Danke für deine Antwort. Also meine Routine besteht momentan darin, dass ich die Daten in die CMS_VAR abspeichere und dann diese mit "conSaveContentEntry" in ein CMS_TEXT lege. Dazu muss aber der Benutzer nochmal in den Editor des Artikels gehen, damit diese abgespeichert werden. Klar funktioniert das soweit so gut, aber es ist einfach nicht sexy. Nach meiner bescheidenen Programmierermeinung wurde ja der "Konfigurationsreiter" genau deswegen gemacht, damit man einen Artikel konfigurieren kann. Daher sollte es für meinen Geschmack schon einfach möglich sein, diese Werte irgendwie aus der Datenbank zu holen.

Nun wenn das nicht geht, fahre ich mit meiner bisherigen Lösung weiter, aber es wäre sicher für spätere Contenido-Versionen hilfreich, wenn man diese Werte einfach rauslesen kann.

Grüsse
Samse

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von homtata » Mo 19. Jun 2017, 08:36

Nun ja, der Inputbereich ist nicht dazu da, den ARTIKEL zu konfigurieren, sondern das MODUL in DIESEM Artikel und nicht als allgemeine Konfigurationsschicht für alle anderen Artikel und Module vorgesehen. Daher einfach nochmal die Frage: wofür willst du das denn jetzt genau einsetzen (ich weiß, dass du Variablen da rausziehen willst, aber warum auf DIESEM Weg?) Nutzt du diesen Konfigurationsinput überhaupt für den Artikel, oder nutzt du diese Konfiguration nur als generelle Konfigurationsvorgabe für andere Artikel? Denn dann ist das der denkbar ungeschickteste Weg, das zu tun. Du kannst Konfigurationen, die sich in RAW- und TXT-Container speichern, auch in den Ausgabeteil eines Artikels einbinden (ähnlich wie beim Terminliste-Modul, das ich für die 4.9 mal angepasst habe), und von DORT sind die Werte ggf. viel einfacher auslesbar, weil diese CMS-Einträge dann wiederum für den Artikel gelten, nicht nur für das Modul des Artikels.

samse
Beiträge: 48
Registriert: Di 1. Sep 2015, 09:05
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von samse » Mo 19. Jun 2017, 19:14

Hi Homtata

Nun um mein Problem genauer zu erklären: Ich habe eine Webseite die hat verschiedene Artikel. Diese Artikel werden von verschiedenen Autoren geschrieben. Nun gibt es zwei Übersichten: Eine Artikel- und eine Autorenübersicht. In einem Artikel muss man zu dem Autor gelangen, der ihn geschrieben hat. Beim Autor werden alle Artikel aufgelistet die er geschrieben hat und diese müssen natürlich auch verlinkt sein.

Ich habe das so gelöst, dass ich ein Modul geschrieben habe, dass in im INPUT 1 Select mit den verschiedenen Autoren generiert. Der Benutzer kann dort den Autor auswählen und dieser wird dann sauber im OUTPUT ausgegeben. Nun eben mein Problem: Der Benutzer muss nochmal in den Editor, damit ich die CMS_VAR in ein CMS_TEXT speichern kann, damit ich dann auf Autorenseite alle Artikel auslesen kann, die dessen ID haben.

Wie würdest du dies mit deiner Erfahrung lösen? Bin für jeden Vorschlag offen :D
Anmerkung: Ich weiss, dass ich verschiedene Benutzer für die Autoren erstellen könnte im Contenido und so jeder den Artikel wirklich erstellen kann, zu dem er auch gehört, aber dies muss auf Kundenwunsch (Der Kunde ist König...) wie oben beschrieben gelöst werden.

Grüsse
Samse

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von homtata » Mo 19. Jun 2017, 22:01

Zum Verständnis:
- Ein Redakteur legt einen neuen Artikel (im Backend) an und legt dort über ein Dropdown im Modul-Inputbereich fest, dass ER den Artikel angelegt hat. Das wird im Modul-Input gespeichert und im Artikel selbst mit ausgegeben. Gleichzeitig wird der Name in einem CMS_TEXT gespeichert. Ist das so korrekt?
- Dann gibt es einen anderen Artikel, in dem man (im Frontend) sehen soll, welche Artikel noch von diesem Redakteur stammen, und von dort sollen alle Artikel verlinkt sein.

Aber was meinst du jetzt genau mit
Der Benutzer muss nochmal in den Editor, damit ich die CMS_VAR in ein CMS_TEXT speichern kann, damit ich dann auf Autorenseite alle Artikel auslesen kann, die dessen ID haben.
Welcher Benutzer? Frontend, Backend, und wofür genau muss er in den Editor? In meiner Vorstellung speichert der Redakteur (= Benutzer?) doch beim Erstellen gleich einen Namen mit ab über den Input und damit gleich in CMS_TEXT, oder nicht? Sorry für die Nachfragen, aber so richtig klar ist mir das Prozedere noch nicht.

samse
Beiträge: 48
Registriert: Di 1. Sep 2015, 09:05
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von samse » Di 20. Jun 2017, 10:41

Ein Redakteur legt einen neuen Artikel (im Backend) an und legt dort über ein Dropdown im Modul-Inputbereich fest, dass ER den Artikel angelegt hat. Das wird im Modul-Input gespeichert und im Artikel selbst mit ausgegeben. Gleichzeitig wird der Name in einem CMS_TEXT gespeichert. Ist das so korrekt?
Das ist korrekt, aber damit die Konfiguration in ein CMS_TEXT gespeichert wird, muss der BACKEND-Benutzer nochmal in den Editor-Bereich, weil ich das mit "conSaveContentEntry" im OUTPUT des Moduls abspeichere, oder gibt es da eine andere Möglichkeit?
Dann gibt es einen anderen Artikel, in dem man (im Frontend) sehen soll, welche Artikel noch von diesem Redakteur stammen, und von dort sollen alle Artikel verlinkt sein.
Auch korrekt. Ich hole mir in einem weiteren Modul alle Artikel au der Datenbank, die im CMS_TEXT[XXX] den Namen des Autors haben.

So habe ich versucht mein Problem zu lösen. Kann auch sein, dass das vollkommener Mist ist und man es viel einfacher hätte lösen können :D

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von homtata » Di 20. Jun 2017, 10:58

Ja, blöde Frage, und noch nie probiert, aber funktioniert ConSaveContentEntry denn nicht auch im Inputbereich? Dann kannste das gleich bei jeder Änderung des Dropdowns mit abspeichern.

samse
Beiträge: 48
Registriert: Di 1. Sep 2015, 09:05
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von samse » Mi 21. Jun 2017, 12:56

Ja schau an! Da sieht man vor lauter Bäumen den Wald nicht!! :D
ConSaveContentEntry funktioniert auch im Inputbereich, was mir mein Leben natürlich erleichtert (Blöd dass ich auf sowas nicht selber gekommen bin :oops: )

Vielen Dank für deine Hilfe!

Mich würde es aber doch noch Wunder nehmen, wie du die oben stehende Problemstellung gelöst hättest mit deiner Erfahrung? Hättest du alles im Outputbereich gelöst, oder hättest du einen anderen Weg eingeschlagen? Danke nochmal für deine Hilfe!

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Frage zu CMS_VAR & CMS_VALUE

Beitrag von homtata » Mi 21. Jun 2017, 13:24

Heyho, freut mich, wenns so klappt, und unter der Massgabe, dass der Kunde nicht auf die Information des Artikels selbst zurückgreifen soll ("wer hat mich wann erstellt als User?") ist dein Vorgehen sicherlich nicht doof. Ich hätte wahrscheinlich kurz überlegt, ne eigene kleine Klasse zu schreiben und eine eigene DB-Tabelle aufzusetzen, aber dann hätte ich es wieder verworfen, weil ich dann auch dort hätte speichern oder referenzieren müssen, ob der zugehörige Artikel online ist oder zugriffsberechtigt und und und... Ich glaube, am Ende machts nicht viel Unterschied. So verhält es sich auch nicht anders als eine riesige Artikelliste, dort würden wir auch nix anderes machen als die CMS-Typen aller Artikel, die passen, auszulesen.
Also alles gut denke ich ,-)

Antworten