I already tried to change the output with content.prepare in various files, but unfortunately I can't get it to work.

Code: Select all
jimport('joomla.plugin.plugin');
class plgSystemMultilanguagesck extends JPlugin
{
function __construct(&$subject, $config) {
parent :: __construct($subject, $config);
}
public function onAfterRender()
{
$app = JFactory::getApplication();
$document = JFactory::getDocument();
$doctype = $document->getType();
$input = new JInput();
// si pas en frontend, on sort
if ($app->isAdmin()) {
return false;
}
// si pas HTML, on sort
if ($doctype !== 'html') {
return;
}
if ($input->get('layout') == 'edit') {
return;
}
// renvoie les données dans la page
$body = JResponse::getBody();
// debug mode
// get attribute from system plugin params
$plugin = JPluginHelper::getPlugin('system', 'multilanguagesck');
$pluginParams = new JRegistry($plugin->params);
if ($pluginParams->get('debugmode') == '1') {
// get the language
$lang = JFactory::getLanguage();
$langtag = $lang->getTag(); // returns fr-FR or en-GB
$debugmessage = '<p style="font-size:14px;color:red;">The actual language tag is : '.$langtag.'</p>';
$body = str_replace("<body",$debugmessage."<body", $body);
}
$regex = "#{langck(.*?){/langck}#s"; // masque de recherche
$body = preg_replace_callback($regex, 'self::checklanguageck', $body);
JResponse::setBody($body);
}
function checklanguageck(&$matches) {
// découpe l'expression pour récupérer les textes
$patterns = "#{langck(.*)}(.*){/langck}#Uis";
$result = preg_match($patterns, $matches[0], $results);
// vérifie si des paramètres personnalisés existent
$params = explode('=', $results[1]);
// si pas de langue définie on sort
if (!isset($params[1])) return $matches[0];
$lang = JFactory::getLanguage();
$langtag = $lang->getTag(); // returns fr-FR or en-GB
// vérifie si ça colle avec la langue active
if (($params[1] == $langtag) AND isset($results[2])) {
$return = $results[2];
} else {
$return = '';
}
return $return;
}
}
Code: Select all
public function onChangeText(&$body) {
// debug mode
// get attribute from system plugin params
$plugin = JPluginHelper::getPlugin('system', 'multilanguagesck');
$pluginParams = new JRegistry($plugin->params);
if ($pluginParams->get('debugmode') == '1') {
// get the language
$lang = JFactory::getLanguage();
$langtag = $lang->getTag(); // returns fr-FR or en-GB
$debugmessage = '<p style="font-size:14px;color:red;">The actual language tag is : '.$langtag.'</p>';
$body = $body . $debugmessage;
}
$regex = "#{langck(.*?){/langck}#s"; // masque de recherche
$body = preg_replace_callback($regex, 'self::checklanguageck', $body);
return true;
}
Code: Select all
JPluginHelper::importPlugin( 'system' );
$dispatcher = JEventDispatcher::getInstance();
JPluginHelper::importPlugin('plgSystemMultilanguagesck');
$dispatcher->trigger('onChangeText', array(&$body));
$dispatcher->trigger('onChangeText', array(&$bodyOthers));