Hello,
J'essaye de faire mon premier plugin mais un truc m'échappe merci au codeur de m'aider ;-)
J'ai du merder mais ou ?... je récupère pas un lien dynamique (qui bouge en fonction du contenu ou je suis)...
Je me suis inspiré de produit suivant/precedent une idée de ce qui coince ?
<?php
include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsClassiques.class.php");
class Dc_contenusuivprec extends PluginsClassiques{
function dc_contenusuivprec(){
$this->PluginsClassiques("dc_contenusuivprec");
}
function init(){
// TITRE
$this->ajout_desc("contenu Suivant/Prédédent","Plugin contenu Suivant/Précédent","Ce plugin permet de connaitre le contenu précédent et le contenu suivant.",1);
}
function destroy(){
}
function boucle($texte, $args){
$i=0;
// récupération des arguments
$id = lireTag($args, "id");
$suivant = lireTag($args, "suivant");
$precedent = lireTag($args, "precedent");
$dossier = lireTag($args, "dossier");
$classement = lireTag($args, "classement");
// préparation de la requete
if($classement == "manuel") $order = "order by classement";
else if($classement == "inverse") $order = "order by classement desc";
else if($classement == "date") $order = "order by datemodif desc";
else if($classement == "titre") $order = "order by titre";
else if($classement == "titreinverse") $order = "order by contenudesc.titre desc";
else $order = "order by classement";
$search = "";
$res = "";
if (!empty($dossier)){
$search1 = "dossier in($dossier)";
}
//requete
if($classement != "titre" && $classement != "titreinverse"){
$query_contenu = "SELECT id FROM contenu WHERE ligne='1' AND $search1 $order";
} else {
$query_contenu = "SELECT contenu.id FROM contenu, contenudesc WHERE ligne='1' AND contenu.id=contenudesc.contenu AND $search1 $order";
}
$resul_contenu = mysql_query($query_contenu);
$nb_contenu = mysql_num_rows($resul_contenu);
while($row = mysql_fetch_assoc($resul_contenu)){
if($row["id"] != $id) { $i++;
}
else break;
}
//récupération de la position de l'élèment suivant et précédent
$posprec = $i-1;
$possuiv = $i+1;
//test si la boucle est pour le contenu précédent
if ($precedent=="1"){
if ($posprec >= 0){
if($classement != "titre" && $classement != "titreinverse"){
$query_prec = "SELECT id FROM contenu WHERE ligne='1' AND $search1 $order limit $posprec,1";
} else {
$query_prec = "SELECT contenu.id FROM contenu, contenudesc WHERE ligne='1' AND contenu.id=contenudesc.contenu AND $search1 $order limit $posprec,1";
}
$resul_prec = mysql_query($query_prec);
$cont_prec = mysql_result($resul_prec, 0);
}
else {
return "";
}
}
//test si la boucle est pour le contenu suivant
if ($suivant=="1"){
if ($possuiv < $nb_contenu){
if($classement != "titre" && $classement != "titreinverse"){
$query_suiv = "SELECT id FROM contenu WHERE ligne='1' AND $search1 $order limit $possuiv,1";
} else {
$query_suiv = "SELECT contenu.id FROM contenu, contenudesc WHERE ligne='1' AND contenu.id=contenudesc.contenu AND $search1 $order limit $possuiv,1";
}
$resul_suiv = mysql_query($query_suiv);
$cont_suiv = mysql_result($resul_suiv, 0);
}
else {
return "";
}
}
//renvoie des données
$temp = str_replace("#REFPREC", "$cont_prec", $texte);
$temp = str_replace("#REFSUIV", "$cont_suiv", $temp);
$res .= $temp;
return $res;
}
function action($res){
}
}
?>