Valider 0f325f20 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Ajout d’un critère `(ARTICLES){article_accueil}` et `(ARTICLES){!article_accueil}`

qui permettent d’obtenir respectivement les articles définis en articles d’accueil d’une rubrique,
et ceux qui ne le sont pas.

Exemple : sélectionner tous les articles d’accueil qui ont un document PDF lié dans certaines rubriques

```html
<BOUCLE_avec_pdf(ARTICLES)
    {article_accueil}
    {rubriques.id_parent = 3}
    {documents.extension = pdf}
    {!par date}
>
...
</BOUCLE_avec_pdf>

```
parent fbbc7e0b
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+28 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php

/**
 * Critère `(ARTICLES){article_accueil}` qui sélectionne des articles d’accueil…
 *
 * - `{!article_accueil}` fait l’inverse.
 * 
 * @critere
 *
 * @param string $idb
 * @param object $boucles
 * @param object $crit
 */
function critere_ARTICLES_article_accueil_dist($idb, &$boucles, $crit) {
    $boucle = &$boucles[$idb];
	$id_table = $boucle->id_table; // articles
	$primary = $boucle->primary; // id_article

    $boucle->from['rubriques'] = 'spip_rubriques';
    $boucle->join['rubriques'] = array("'$id_table'","'id_rubrique'","'id_rubrique'");

    $where = "'rubriques.id_article_accueil = $id_table.$primary'";
	if ($crit->not) {
		$where = array("'NOT'", $where);
	}

	$boucle->where[]= $where;
}