Seite 3 von 4

Verfasst: Do 13. Jul 2006, 09:05
von Dodger77
mvf hat geschrieben:@dodger, kann man das dür die standard sonderzeichen erweitern?
Klar, kann man das. Wir benötigen dazu eine neue Chain.

Dateiname: include.chain.content.htmlentities.php

Inhalt:

Code: Alles auswählen

<?php

function cecContentHtmlentities ($idartlang, $int2, $int3, $string)
{	
global $cfg, $client, $lang;

  cInclude("classes", "class.lang.php");
  $oLanguage = new Language;
  $oLanguage->loadBy("idlang", $lang);
  $sLangEncoding = $oLanguage->get("encoding");
  
  $pattern = '<([a-zA-Z0-9\.\, "\'_\/\-\+~=;:\(\)?&#%![\]@]+)>';
  preg_match_all ('/' . $pattern . '/', $string, $tagMatches, PREG_SET_ORDER);
  $textMatches = preg_split ('/' . $pattern . '/', $string);

  foreach ($textMatches as $key => $value) {
   $textMatches [$key] = mb_convert_encoding($value, 'HTML-ENTITIES', $sLangEncoding);
  }

  for ($i = 0; $i < count ($textMatches); $i ++) {
   $textMatches [$i] = $textMatches [$i] . $tagMatches [$i] [0];
  }

  return implode ($textMatches); 
}

?>
Dazu muss in der config.plugin.php hinzugefügt werden:

Code: Alles auswählen

cInclude("plugins", "chains/includes/include.chain.content.htmlentities.php");
$_cecRegistry->addChainFunction("Contenido.Content.SaveContentEntry", "cecContentHtmlentities");
Klappt, soweit ich das bisher sehe, ganz gut:

http://spielwiese.contenido-tutorials.de/test/

Verfasst: Sa 15. Jul 2006, 16:36
von mvf
hi Dodger77

ich habs noch nicht getestet/eingebaut, dennoch schon mal danke(!) - werde aber auf jeden fall noch rückmeldung geben.

Verfasst: Mo 17. Jul 2006, 16:07
von pulk
hallo,

ich hab jetzt die chain eingebaut, aber leider bekomme ich folgenden fehler:

Code: Alles auswählen

[17-Jul-2006 16:56:03] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/.../contenido/plugins/chains/includes/include.chain.content.html2xhtml.php:88) in /var/www/.../conlib/session.inc on line 489
[17-Jul-2006 16:56:03] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/.../contenido/plugins/chains/includes/include.chain.content.html2xhtml.php:88) in /var/www/.../cms/front_content.php on line 135
hab die version 4.6.8.5 laufen. was hab ich da falsch gemacht?

Verfasst: Do 10. Aug 2006, 09:47
von pulk
pulk hat geschrieben:hallo,

ich hab jetzt die chain eingebaut, aber leider bekomme ich folgenden fehler:

Code: Alles auswählen

[17-Jul-2006 16:56:03] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/.../contenido/plugins/chains/includes/include.chain.content.html2xhtml.php:88) in /var/www/.../conlib/session.inc on line 489
[17-Jul-2006 16:56:03] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/.../contenido/plugins/chains/includes/include.chain.content.html2xhtml.php:88) in /var/www/.../cms/front_content.php on line 135
hab die version 4.6.8.5 laufen. was hab ich da falsch gemacht?

hab jetzt nochmal die original config.plugin.php von der 4.6.8.5 eingespielt und die chain eingefügt und jetzt kommen zumindest keine fehler mehr, dafür kommen wieder welche wenn ich die include.chain.content.htmlentities.php einfüge.

Code: Alles auswählen

Warning: Cannot modify header information - headers already sent by (output started at /var/www/.../contenido/plugins/chains/includes/include.chain.content.htmlentities.php:46) in /var/www/.../conlib/session.inc on line 485

Verfasst: Do 10. Aug 2006, 10:02
von emergence
ähm
bei include.chain.content.htmlentities.php um zeile 46 befindet sich ein leerzeichen oder ein line break (oder mehrere)... da darf keiner sein ->
die datei muss mit ?> abschließen...

deshalb die fehlermeldung..

Verfasst: Do 10. Aug 2006, 10:21
von pulk
ahhh, danke!

Verfasst: Fr 8. Dez 2006, 23:51
von Karin Dähne
Hallo,
ich hab jetzt die Version 4.6.15 von Stese installiert (komplett neue Installation mit Beispielmandant).

Zum Testen habe ich das Standarttemplate um ein CMS_HTML -Feld erweitert. Umstellung auf xhtml im Mandanten ist erfolgt.
Testfeld: Beispielseite "Features dieser Website":

Leider habe ich beim Einsatz von mehreren CMS_HTML Containern noch ein Problem mit den Listen. (Alle anderen Tags bleiben meines Erachtens nach sauber in xhtml.)

Rufe ich den bestehenden Artikel noch einmal auf und speichere ihn, gibt er die saubere Liste aus:

Code: Alles auswählen

<p><p>Folgende Funktionalit&auml;ten stehen Ihnen&nbsp;in&nbsp;auf dieser&nbsp;Beispielseite zur Verf&uuml;gung.</p><ul><li>Navigation </li><li>Teaser </li><li>Suche </li><li>Sitemap </li><li>Bildergalerie </li><li>RSS Feed </li><li>Loginbox f&uuml;r den geschlossenen Bereich </li><li>Artikelbewertung </li><li>Kontaktformular </li></ul></p>
setze ich in den neuen CMS_HTML Container eine weitere Liste erscheint folgendes:

Code: Alles auswählen

<ul>
<li>Navigation 
<li>Teaser 
<li>Suche 
<li>Sitemap 
<li>Bildergalerie 
<li>RSS Feed 
<li>Loginbox f&uuml;r den geschlossenen Bereich 
<li>Artikelbewertung 
<li>Kontaktformular </li></ul></p>
im 2. Container darunter:

Code: Alles auswählen

			<p><ul><li>Punkt 01 2. CMS_HTML Container </li><li>Punkt 02 2. CMS_HTML Container</li><li>Punkt 03 2. CMS_HTML Container </li></ul></p>
ändere ich ein weiteres Feld (Überschrift), sehen die Listen aus, wie folgt:

Code: Alles auswählen

<ul>
<li>Navigation 
<li>Teaser 
<li>Suche 
<li>Sitemap 
<li>Bildergalerie 
<li>RSS Feed 
<li>Loginbox f&uuml;r den geschlossenen Bereich 
<li>Artikelbewertung 
<li>Kontaktformular </li></ul></p>
im 2. Container darunter:

Code: Alles auswählen

			<p><ul>
<li>Punkt 01 2. CMS_HTML Container 
<li>Punkt 02 2. CMS_HTML Container 
<li>Punkt 03 2. CMS_HTML Container</li></ul></p>
Gibt es da schon eine Lösung zu, die ich bis jetzt noch nicht hier im Forum gefunden habe?

Danke im Voraus für eine Antwort.

Grüße,
Karin Dähne.

Verfasst: Di 30. Jan 2007, 15:50
von Dodger77
Ich habe soeben die Liste der leeren Elemente erweitert, so dass es damit keine Probleme mehr geben sollte.

Verfasst: Fr 16. Feb 2007, 00:37
von Karin Dähne
Hallo Dodger77,
ich bin gerade erst dazu gekommen, Deine Erwiterung zu testen:
leider besteht das Problem mit den Listenpunkten nach wie vor.
(Natürlich hab ich die Container im Artikel neu aufgerufen, in der html-Ansicht des Tiny kontrolliert und neu abgespeichert)

Nur zur Sicherheit:
ich habe den Code der Datei "include.chain.content.html2xhtml.php" am Anfang des Threads (zuletzt geändert 30.01.2007 15:53) ersetzt.

Und: wenn ich im Tiny eine css-Klasse einstelle, erscheint im Quelltext:
class=bold
statt class="bold"

oder muß das an anderer Stelle bearbeitet werden?

Danke im Voraus für eine Antwort.

Grüße,
Karin Dähne.

Verfasst: Fr 16. Feb 2007, 08:34
von Dodger77
@Karin: Bist du dir sicher, dass die Chain überhaupt ausgeführt wird?

Poste bitte mal den Inhalt der Datei "contenido/plugins/chains/includes/config.plugin.php".

Verfasst: Mo 19. Feb 2007, 23:48
von Karin Dähne
Hallo Dodger77,

hier ist der Code:

Code: Alles auswählen

<?php
//global $_cecRegistry, $cfg;
global $_cecRegistry, $cfg, $client;

$cfg['plugins']['frontendlogic'][] = "category";

cInclude("plugins", "chains/includes/include.chain.frontend.cat_backendaccess.php");
cInclude("plugins", "chains/includes/include.chain.frontend.cat_access.php");
cInclude("plugins", "chains/includes/include.chain.frontend.multidomain.php");
cInclude("plugins", "chains/includes/include.chain.content.html2xhtml.php");
cInclude("plugins", "chains/includes/include.chain.content.tinymceurl.php");
cInclude("plugins", "chains/includes/include.chain.content.htmlentities.php");

$_cecRegistry->addChainFunction("Contenido.Frontend.CategoryAccess", "cecFrontendCategoryAccess");
$_cecRegistry->addChainFunction("Contenido.Frontend.CategoryAccess", "cecFrontendCategoryAccess_Backend");
$_cecRegistry->addChainFunction("Contenido.Frontend.BaseHrefGeneration", "cecFrontendMultiDomainSwitch");
$_cecRegistry->addChainFunction("Contenido.Content.SaveContentEntry", "cecContentHtml2Xhtml");
$_cecRegistry->addChainFunction("Contenido.Content.CreateArticleLink", "cecContentTinyMCEUrl");
$_cecRegistry->addChainFunction("Contenido.Content.CreateCategoryLink", "cecContentTinyMCEUrlCategory");
$_cecRegistry->addChainFunction("Contenido.Content.SaveContentEntry", "cecContentHtmlentities");
?>
Zusätzlich meine Mandanteneinstellungen:

Code: Alles auswählen

Typ  / Name  / Wert 
backend  / upload_properties_language_dependant / yes 
generator  / xhtml  / true 
language  / separator  / §§§ 
wysiwyg  / tinymce-extended-valid-elements  / *[*] 
wysiwyg  / tinymce-valid-elements  / *[*] 
wysiwyg  / tinymce-stylesheet-file  / css/style_tiny.css 
Ich weiß wirklich nicht, wo ich noch suchen soll...
Und Danke, daß Du Dich des Problemes annimmst!

Grüße,
Karin Dähne.

Verfasst: Di 20. Feb 2007, 10:52
von Dodger77
@Karin: Soweit sieht das in Ordnung aus.
Welchen Browser benutzt du denn zum Editieren? Dann kann ich mal versuchen, das bei mir nachzustellen.

Verfasst: Di 20. Feb 2007, 11:40
von Karin Dähne
Hallo Dodger77,

Browser: IE 6 / IE 7 (wird auch später in der Firma zum Editieren eingesetzt)

Lokale Testumgebung: XAMPP für Windows Version 1.5.3a auf XP-Professionell

Beim Provider wird es dann auf einer IIS- Installation liegen.
Aber bis jetzt kann ich da keinen Unterschied feststellen im Verhalten.

Grüße,
Karin Dähne.

Verfasst: Di 20. Feb 2007, 12:10
von Dodger77
Also die Testumgebung ist in diesem Fall nicht wichtig. Aber der IE macht halt Zicken. Das fehlende abschließende </li> lässt sich zur Zeit mit der Chain nicht abfangen, die fehlenden Anführungszeichen bei den Attributwerten schaue ich mir die Tage mal an.

Verfasst: Mi 21. Feb 2007, 08:19
von Karin Dähne
Hallo Dodger77,
Das fehlende abschließende </li> lässt sich zur Zeit mit der Chain nicht abfangen
Ach so! Und gerade das hatte ich gehofft, als ich Deinen Beitrag
Ich habe soeben die Liste der leeren Elemente erweitert, so dass es damit keine Probleme mehr geben sollte.
las, da er unmittelbar nach meinem Beitrag kam.
Ist denn da schon eine Lösung in Sicht?
Ich habe extra Templates angelegt, die aus mehreren Textfeldern, kombiniert mit Bildmodulen bestehen, damit Redakteure mir nicht das Layout und die Barrierefreiheit der Site zerschießen können.
In Projektbeschreibungen tauchen aber oft unsortierte Listen auf.
Ich habe gerade einen Workaround dazu getestet:

Code: Alles auswählen

<blockquote>
<p class="list">text</p>
<p class="list">text</p>
<p class="list">text</p>
</blockquote>
und dann die Formatierungszuweisung von Listenpunkten durch Css

Code: Alles auswählen

blockquote p {
 display: list-item;
 list-style: url(../upload/pagedesign/style/bullets/dot-3e3f88_closed.gif);
}
Wirklich toll finde ich das aber nicht, da es mir syntaktisch nicht richtig erscheint.

Grüße,
Karin Dähne.