Seite 1 von 1

Meta Tag entfernen

Verfasst: Mi 16. Jun 2010, 14:28
von derju
Liebe Community

Ich habe ein Problem mit dem Html Newsletter Template welches im Outlook probleme macht.


Es wird folgender Tag von Contenido generiert wie oder wo kann ich diesen entfernen.

Ich hab im Forum was gefunden wo ich alle Metatags entfernen kann aber nicht einen Einselnen.

<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />

Vielen Dank im Voraus für eure Hilfe

derju

Re: Meta Tag entfernen

Verfasst: Fr 18. Jun 2010, 16:48
von OliverL
Hi,

Diesen speziellen Tag solltest du nicht entfernen, sondern abändern.
Outlook kann (glaube ich) nur HTML 4.

Die Zeile die du hast wird durch die Spracheinstellungen (charset=iso-8859-1) und Mandanteneinstellungen (XHTML) erzeugt.

Du kannst ein kleines Plugin/kleine CEC erstellen das die Ausgabe abändert.
Ich bin mir aber nicht sicher wie der NL den Code generiert.
Du kannst es aber so mal versuchen:

Erststelle ein Verzeichnis in /plugins/ das dann so aussieht
../contenido/plugins/irgendwas/includes/

Erstelle dort eine Datei
config.plugin.php

In die Datei packst du diesen Code:

ACHTUNG:
ungetestet! Wenn es nicht funktioniert die Datei umbenennen oder löschen
wenn nix passiert 60 sec warten / es wird bei einem neueren Con. nur alle 60 sec. nach Plugins gesucht

Code: Alles auswählen

<?php
if(!defined('CON_FRAMEWORK')) { die('Illegal call'); }

global $_cecRegistry, $cfg, $client;

function cecContentChange( $sHtmlCode ) {
	global $cfg, $idtpl, $db, $idart, $lang;

	if( !$idtpl ) {
	  $db->query('select 	templateconf.idtpl as idtpl 
	  			  from		con_art_lang as artlang 
				  left join	con_cat_art as catart 				on		artlang.idart = catart.idart 
				  left join	con_cat_lang as catlang 	    	on		artlang.idlang = catlang.idlang		and		catart.idcat = catlang.idcat 
				  left join	con_template_conf as templateconf	on		templateconf.idtplcfg = if(artlang.idtplcfg > 0, artlang.idtplcfg, catlang.idtplcfg) 
				  where		artlang.idart='.$idart.'	and		artlang.idlang='.$lang.'');
	  $db->next_record();
	  $idtpl = $db->f('idtpl');
	}

	if( in_array($idtpl, array( 12, 34) )  // Hier muss du mit "," die IDs der Newslettervorlagen einfügen.
	{
		$sHtmlCode  = str_replace('<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />','', $sHtmlCode );
	}
	return $sHtmlCode;
}

$_cecRegistry->addChainFunction("Contenido.Frontend.HTMLCodeOutput", "start_cecContentChange");
?>

Re: Meta Tag entfernen

Verfasst: Di 22. Jun 2010, 07:51
von derju
Hallo Oliver

Herzlichen Dank!

Ich werde das gleich mal testen.

LG - derju

Re: Meta Tag entfernen

Verfasst: Di 22. Jun 2010, 12:40
von Oldperl
Hallo,

oder du kommentierst in der contenido/includes/functions.con2.php ab Zeile 465 die entsprechenden Zeilen aus

Code: Alles auswählen

/* contenido */
	$metatags[] = array ('name' => 'generator', 'content' => 'CMS Contenido '.$cfg['version']);
	if (getEffectiveSetting('generator', 'xhtml', "false") == "true")
	{
		$metatags[] = array ('http-equiv' => 'Content-Type', 'content' => 'application/xhtml+xml; charset='.$encoding[$lang]);
	} else {
		$metatags[] = array ('http-equiv' => 'Content-Type', 'content' => 'text/html; charset='.$encoding[$lang]);
	}
Gruß aus Franken

Ortwin

Re: Meta Tag entfernen

Verfasst: Di 22. Jun 2010, 12:51
von OliverL
hi ho,

Das ist auch eine Lösung. Jedoch hat man dann garkeinen header mehr, auch nicht auf der Website. Und ohne richtigen Header kann das ganze im IE richtig doof aussehen. Man sollte sich bei Lösung 2 ein eigenes Logfile machen, denn die Änderungen muss man nach dem nächstem Update wieder machen.

mfg Oli

Re: Meta Tag entfernen

Verfasst: Di 22. Jun 2010, 12:56
von Oldperl
OliverL hat geschrieben:Man sollte sich bei Lösung 2 ein eigenes Logfile machen, denn die Änderungen muss man nach dem nächstem Update wieder machen.
Sehr gute Idee. :-)
Sollte man immer machen wenn man am Core Sachen ändert, hilft auch späteren Entwicklern. 8)

Wir sollten vielleicht nochmal drüber nachdenken, ob man diese Erzeugung der Metatags nicht auch per Mandanteneinstellung abschaltbar macht.

Gruß aus Franken

Ortwin