TAG

De Wiki.

La fonctionnalité TAG du CMS permet d'ajouter un titre, des keywords, et une description supplémentaire aux informations de base du CMS

S'il y a besoin d'ajouter des informations spécifiques sur certaines pages du site, il suffit d'ajouter un dossier /modules/meta avec 3 fichiers (si besoin):

- title.php : gestion spécifique du title de la page
- tag.php   : gestion spécifique des keyword de la page
- description.php : gestion spécifique d'une description de la page

[[Code source par défaut pour title.php :]]

include_once('cms-inc/include_cms.php');
include_once('cms-inc/include_class.php');

$idpage = '__id_page__';
$oPage = new Cms_page ($idpage);

if (ereg ("TAG_", $oPage->getOptions_page())) {
	$classe_a_tag = str_replace ("TAG_", "", $oPage->getOptions_page());
	if (getCount_where("classe", array("cms_nom"), array(strtolower($classe_a_tag)), array("TEXT")) >0) {	
		$sql = "select * from classe where cms_nom = '".$classe_a_tag."'";
		$aClasse = dbGetObjectsFromRequete ("classe", $sql);
		$oClasse = $aClasse[0];
		$idClasse = $oClasse->get_id();
		
		$sql = "select * from cms_assotitleclasse where xtc_classe = ".$idClasse.""; 
		$aAssotitle = dbGetObjectsFromRequete ("cms_assotitleclasse", $sql);
		
		$title="";
		if (sizeof($aAssotitle) > 0) {
			for ($i=0; $i<sizeof($aAssotitle);$i++) {
				$oAssotitle = $aAssotitle[$i]; 
				if ($oAssotitle->get_classeid() == -1 || $oAssotitle->get_classeid() == $_GET["id"]) { 
					$oTitle = new Cms_title ($oAssotitle->get_cms_title());
					
					 
					$title.=$oTitle->get_nom();
					if ($i!=(sizeof($oAssotitle)-1)) $keywords.=", ";
				}
				 
			}
		}	
	}
}

[[Code source par défaut pour tag.php :]]

$idpage = '__id_page__';
$oPage = new Cms_page ($idpage);
if (ereg ("TAG_", $oPage->getOptions_page())) {
	$classe_a_tag = str_replace ("TAG_", "", $oPage->getOptions_page());
	if (getCount_where("classe", array("cms_nom"), array(strtolower($classe_a_tag)), array("TEXT")) >0) {	
		$sql = "select * from classe where cms_nom = '".$classe_a_tag."'";
		$aClasse = dbGetObjectsFromRequete ("classe", $sql);
		$oClasse = $aClasse[0];
		$idClasse = $oClasse->get_id();
		
		$sql = "select * from cms_assotagclasse where xtc_classe = ".$idClasse.""; 
		$aAssotag = dbGetObjectsFromRequete ("cms_assotagclasse", $sql);
		
		$keywords="";
		if (sizeof($aAssotag) > 0) {
			for ($i=0; $i<sizeof($aAssotag);$i++) {
				$oAssotag = $aAssotag[$i]; 
				if ($oAssotag->get_classeid() == -1 || $oAssotag->get_classeid() == $_GET["id"]) { 
					$oTag = new Cms_tag ($oAssotag->get_cms_tag());
					
					
					$addies = str_replace("\"", " ", $oTag->get_nom());
					$addies = str_replace("'", " ", $addies);
					$addies = str_replace(":", " ", $addies);
					$addies = str_replace(";", " ", $addies);
					$addies = str_replace("?", " ", $addies);
					$addies = str_replace("<", " ", $addies);
					$addies = str_replace(">", " ", $addies);
					$addies = str_replace("(", " ", $addies);
					$addies = str_replace(")", " ", $addies);
					$addies = str_replace("[", " ", $addies);
					$addies = str_replace("]", " ", $addies);
					$addies = preg_split("/[\s,]+/",  $addies);
					
					foreach ($addies as $key => $addy) {
						$addy = trim(strtolower($addy));
						$keywords.=$addy.",";
					}
				}
				 
			}
		}	
	}
}  

[[Code source par défaut pour description.php :]]

include_once('cms-inc/include_cms.php');
include_once('cms-inc/include_class.php');

$idpage = '__id_page__';
$oPage = new Cms_page ($idpage);

if (ereg ("TAG_", $oPage->getOptions_page())) {
	$classe_a_tag = str_replace ("TAG_", "", $oPage->getOptions_page());
	if (getCount_where("classe", array("cms_nom"), array(strtolower($classe_a_tag)), array("TEXT")) >0) {	
		$sql = "select * from classe where cms_nom = '".$classe_a_tag."'";
		$aClasse = dbGetObjectsFromRequete ("classe", $sql);
		$oClasse = $aClasse[0];
		$idClasse = $oClasse->get_id();
		
		$sql = "select * from cms_assodescriptionclasse where xdc_classe = ".$idClasse.""; 
		$aAssodescription = dbGetObjectsFromRequete ("cms_assodescriptionclasse", $sql);
		
		$description="";
		if (sizeof($aAssodescription) > 0) {
			for ($i=0; $i<sizeof($aAssodescription);$i++) {
				$oAssodescription = $aAssodescription[$i]; 
				if ($oAssodescription->get_classeid() == -1 || $oAssodescription->get_classeid() == $_GET["id"]) { 
					$oDescription = new Cms_description ($oAssodescription->get_cms_description());
					$description.=$oDescription->get_description();
					if ($i!=(sizeof($oAssodescription)-1)) $description.=", ";
					 
					 
				}
				 
			}
		}	
	}
}