Dynamisches erzeugen von Contenido-Platzhaltern
Dynamisches erzeugen von Contenido-Platzhaltern
Hallo!
Ich hatte mir vor einiger Zeit mal ein schönes Modul gebastelt, das 10 Bildplatzhalter nacheinander erzeugt.
Folgendes Skript hatte ich eingesetzt:
http://forum.contenido.org/viewtopic.php?f=62&t=23603
echo make_cms_type("CMS_IMG",$bildnummer);
Leider passiert da in Version 4.9 garnix und ich bin ahnungslos...
Hat jemand Ahnung oder einen Tip?
Ich bedanke mich schon mal!
Schönen Gruß aus Franken
Woddel
Ich hatte mir vor einiger Zeit mal ein schönes Modul gebastelt, das 10 Bildplatzhalter nacheinander erzeugt.
Folgendes Skript hatte ich eingesetzt:
http://forum.contenido.org/viewtopic.php?f=62&t=23603
echo make_cms_type("CMS_IMG",$bildnummer);
Leider passiert da in Version 4.9 garnix und ich bin ahnungslos...
Hat jemand Ahnung oder einen Tip?
Ich bedanke mich schon mal!
Schönen Gruß aus Franken
Woddel
woddel
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Hallo woddel,
probiere doch mal, deine Funktion gegen folgendes zu ersetzen:
Habe das zwar nicht bisher verwendet, aber so müsste es eigentlich funktionieren.
Allerdings wurde in CONTENIDO 4.9 CMS_IMG gegen CMS_IMGEDITOR abgelöst, und dieser CMS-Typ macht beim Speichern eine Weierleitung, was beim Speichern dynamischen genereierter CMS_IMGEDITOR Instanzen eventuell Probleme versursachen kann. Da gibt es einen Beirag dazu unter:
http://forum.contenido.org/viewtopic.php?f=92&t=34229
Gruß
xmurrix
probiere doch mal, deine Funktion gegen folgendes zu ersetzen:
Code: Alles auswählen
function make_cms_type($container_type, $container_id) {
$typeGenerator = new cTypeGenerator();
return $typeGenerator->getGeneratedCmsTag($container_type, $container_id);
}
Allerdings wurde in CONTENIDO 4.9 CMS_IMG gegen CMS_IMGEDITOR abgelöst, und dieser CMS-Typ macht beim Speichern eine Weierleitung, was beim Speichern dynamischen genereierter CMS_IMGEDITOR Instanzen eventuell Probleme versursachen kann. Da gibt es einen Beirag dazu unter:
http://forum.contenido.org/viewtopic.php?f=92&t=34229
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Hallo zusammen,
ich habe die Anpassung mal ausprobiert. Leider funktioniert die Funktion make_cms_type weiterhin in Contenido 4.9 nicht. Hat jemand ne andere Idee?
VG Leonhard
ich habe die Anpassung mal ausprobiert. Leider funktioniert die Funktion make_cms_type weiterhin in Contenido 4.9 nicht. Hat jemand ne andere Idee?
VG Leonhard
Re: Dynamisches erzeugen von Contenido-Platzhaltern
function make_cms_type( $container_type, $container_id ) {
$typeGenerator = new cTypeGenerator();
$tmp = $typeGenerator->getGeneratedCmsTag($container_type, $container_id);
$tmp_output = str_replace('\\\"','"',$tmp);
$tmp_output = stripslashes($tmp_output);
return $tmp_output;
}
Damit geht es! Hoffe, es hilft nicht nur mir weiter.
VG Leonhard
$typeGenerator = new cTypeGenerator();
$tmp = $typeGenerator->getGeneratedCmsTag($container_type, $container_id);
$tmp_output = str_replace('\\\"','"',$tmp);
$tmp_output = stripslashes($tmp_output);
return $tmp_output;
}
Damit geht es! Hoffe, es hilft nicht nur mir weiter.
VG Leonhard
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Ich have festgestellt, dass die Funktion in 4.9.8 nicht mehr funktioniert. Vielleicht könnte das jemand bestätigen und eine passende Lösung anbieten.
Hier reichen leider meine autodidaktische EDV-Kenntnisse nicht aus.
wiener Grüße,
frogli
Hier reichen leider meine autodidaktische EDV-Kenntnisse nicht aus.
wiener Grüße,
frogli
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Korrekt!
Soweit ich richtig informiert bin, wurde gerade irgendetwas an der Dateiverwaltung geändert. Zurzeit habe ich aber dafür keine Zeit. Deshalb habe ich mir erst einmal eine einfache Funktion geschrieben, um an die Inhalte zu kommen.
Es ist jedenfalls korrekt, die Funktion make_cms_type läuft mit CMS_IMGEDITOR nicht mehr.
VG
Leonhard
Soweit ich richtig informiert bin, wurde gerade irgendetwas an der Dateiverwaltung geändert. Zurzeit habe ich aber dafür keine Zeit. Deshalb habe ich mir erst einmal eine einfache Funktion geschrieben, um an die Inhalte zu kommen.
Es ist jedenfalls korrekt, die Funktion make_cms_type läuft mit CMS_IMGEDITOR nicht mehr.
VG
Leonhard
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Guten Morgen,
eigentlich (wenn ich mir den Code gerade so ansehe) müsste es funktionieren. Eure Funktion ruft die Funktion getGeneratedCmsTag() der Klasse cTypeGenerator auf. Diese Funktion ist ein Alias für die private cTypeGenerator-Funktion _processCmsTags() mit den selben Parametern Type und Index. Sofern _processCmsTags() übergebene Typen findet, ruft es für den jeweiligen Content-Typen die Funktionen generateEditCode() im Backend bzw. generateViewCode() im Frontend auf. Beide Funktionen beinhaltet die Klasse cContentTypeImgeditor. Hättet Ihr für mich ggf. Fehlermeldungen o. ä., die helfen würden, das Problem zu lokalisieren?
eigentlich (wenn ich mir den Code gerade so ansehe) müsste es funktionieren. Eure Funktion ruft die Funktion getGeneratedCmsTag() der Klasse cTypeGenerator auf. Diese Funktion ist ein Alias für die private cTypeGenerator-Funktion _processCmsTags() mit den selben Parametern Type und Index. Sofern _processCmsTags() übergebene Typen findet, ruft es für den jeweiligen Content-Typen die Funktionen generateEditCode() im Backend bzw. generateViewCode() im Frontend auf. Beide Funktionen beinhaltet die Klasse cContentTypeImgeditor. Hättet Ihr für mich ggf. Fehlermeldungen o. ä., die helfen würden, das Problem zu lokalisieren?
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
-
- Beiträge: 203
- Registriert: Mo 7. Mai 2007, 09:05
- Kontaktdaten:
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Ich habe das Problem seit der 4.9.8 auch. ich erhalte aber keine Fehlermeldung um dir weiterhelfen zu können.
Was ich herausgefunden habe:
1) Es passiert unter PHP 5.3, 5.4 und 5.6 - daran kann es nicht liegen
2) $ocType->getGeneratedCmsTag("CMS_IMGEDITOR", $idupl); trägt den Wert korrekt in die Datenbank ein
idtype 22
typeid 675
value 205
3) $ocType->getGeneratedCmsTag("CMS_IMG", $idupl); kommt jedoch nicht an der Wert in der Datenbank ran.
Ich habe testweise "CMS_IMG[675]" fix eingetragen und das Bild wurde angezeigt.
Ich hoffe ich konnte dir etwas weiterhelfen.
Viele Grüße
Matt
Was ich herausgefunden habe:
1) Es passiert unter PHP 5.3, 5.4 und 5.6 - daran kann es nicht liegen
2) $ocType->getGeneratedCmsTag("CMS_IMGEDITOR", $idupl); trägt den Wert korrekt in die Datenbank ein
idtype 22
typeid 675
value 205
3) $ocType->getGeneratedCmsTag("CMS_IMG", $idupl); kommt jedoch nicht an der Wert in der Datenbank ran.
Ich habe testweise "CMS_IMG[675]" fix eingetragen und das Bild wurde angezeigt.
Ich hoffe ich konnte dir etwas weiterhelfen.
Viele Grüße
Matt
-
- Beiträge: 203
- Registriert: Mo 7. Mai 2007, 09:05
- Kontaktdaten:
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Hallo Frederic,
konntest du dir das Problem in der Zwischenzeit mal anschauen? Wäre echt klasse wenn es hier bald eine Lösung gäbe. Vielen Dank für deine Rückmeldung.
Viele Grüße
Matt
konntest du dir das Problem in der Zwischenzeit mal anschauen? Wäre echt klasse wenn es hier bald eine Lösung gäbe. Vielen Dank für deine Rückmeldung.
Viele Grüße
Matt
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Hallo Frederic, leider erhalte ich ebenfalls keine Fehlermeldung. Vg Leonhard
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Ich bitte um Verzeihung, ich war - aufgrund eines Marathons - eine Woche im Urlaub. Habt Ihr die Möglichkeit mir mal Euer entsprechendes Modul zur Verfügung zu stellen, damit ich es mit Euren Einstellungen testen kann? Gerne auch an frederic.schneider@4fb.de. Danke!
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Hallo Frederic,
die Funktion sieht bei mir so aus:
und im Modul wird es so eingebunden:
oder
Vielen Dank!
VG
Leonhard
die Funktion sieht bei mir so aus:
Code: Alles auswählen
function make_cms_type( $container_type, $container_id ) {
$typeGenerator = new cTypeGenerator();
$tmp = $typeGenerator->getGeneratedCmsTag($container_type, $container_id);
$tmp_output = str_replace('\\\"','"',$tmp);
$tmp_output = stripslashes($tmp_output);
return $tmp_output;
}
Code: Alles auswählen
$path = make_cms_type("CMS_IMG",$type_id);
Code: Alles auswählen
$path = make_cms_type("CMS_IMGEDITOR",$type_id);
VG
Leonhard
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Ihr bekommt nächste Woche eine Rückmeldung und ggf. Lösungsmöglichkeit!
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Dynamisches erzeugen von Contenido-Platzhaltern
In der Datei class.content.type.imgeditor.php ab Zeile 180 - 188 folgenden Code:
gegen diesen ersetzen:
Hier wurde anstatt der Vergleichsoperattor "==" eine Zuweisung gemacht "="
Code: Alles auswählen
if ($editable = false) {
$content = new cApiContent();
$content->loadByMany(array(
'idartlang' => $idArtLang,
'idtype' => $idtype,
'typeid' => $id
));
return $content->get('value');
} else if ($editable = true) {
Code: Alles auswählen
if ($editable == false) {
$content = new cApiContent();
$content->loadByMany(array(
'idartlang' => $idArtLang,
'idtype' => $idtype,
'typeid' => $id
));
return $content->get('value');
} else if ($editable == true) {
Could I help you... you can help me... buy me a coffee ☕. (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Re: Dynamisches erzeugen von Contenido-Platzhaltern
Hallo rethus,
es scheint die Ursache gewesen zu sein. Nach der Anpassung funktioniert die Ausgabe mit make_cms_type("CMS_IMG",1) wieder. Vielen Dank!
Viele Grüße
Leonhard
es scheint die Ursache gewesen zu sein. Nach der Anpassung funktioniert die Ausgabe mit make_cms_type("CMS_IMG",1) wieder. Vielen Dank!
Viele Grüße
Leonhard