[BUG] artCatId
Bonjour,
la fonction artCatId devrait normalement "renvoyer le numéro de la catégorie de l'article (sans les 0 complémentaires)."
Cependant, si un article a plusieurs catégories actives, artCatId devrait renvoyer 1,2,3.
Hors artCatId est de tel sorte:
soit pour notre exemple (1,2,3), cela retourne 1
Il faudrait peut-être une fonction du genre:
Qu'en pensez-vous ?
Cordialement,
la fonction artCatId devrait normalement "renvoyer le numéro de la catégorie de l'article (sans les 0 complémentaires)."
Cependant, si un article a plusieurs catégories actives, artCatId devrait renvoyer 1,2,3.
Hors artCatId est de tel sorte:
return intval($this->plxMotor->plxRecord_arts->f('categorie'));
cela retourne la valeur numérique entière équivalente d'une variablesoit pour notre exemple (1,2,3), cela retourne 1
Il faudrait peut-être une fonction du genre:
/**
* Méthode qui retourne le numéro de la catégorie de l'article (sans les 0 complémentaires)
* en mode article, si plusieurs catégories actives, cela retourne une liste séparée par des virgules
*
* @return int
* @scope home,categorie,article,tags,archives
* @author Stephane F
**/
// public function artCatId() {
// return intval($this->plxMotor->plxRecord_arts->f('categorie'));
// }
public function artCatId() {
$catIds = explode(',', $this->plxMotor->plxRecord_arts->f('categorie'));
$artCatId = array();
foreach ($catIds as $idx => $catId) {
array_push($artCatId, intval($catId));
}
$artCatId = implode(",",$artCatId);
return $artCatId;
}
Qu'en pensez-vous ?
Cordialement,
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pourquoi ne pas renvoyer tout simplement un tableau contenant les ids des catégories ?
La variable $artCatId telle que tu l'as renvoie n'est pas exploitable (à mon avis). Il faudra l'éclater de nouveau dans un tableau pour traiter chaque id des catégories si on veut faire un traitement dessus.
Qu'en penses-tu ?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
avec la nouvelle méthode je fais
si ça retourne un tableau on pourrait aussi faire
à part un test de présence, je ne vois pas à quoi sert cette méthode ...
Qu'elle est la plus optimale ?
j'ai eu le mauvais réflexe d'utiliser preg_match alors qu'un simple strpos aurait suffit ...
Sauf qu'avec strpos, si tu cherches la catégorie 14 et que tu as également la catégorie 114 mais que la catégorie 14 que tu cherches a été supprimée, cela te sortira true. Une regex stricte te sortira false.