Implémentation d'articles collants

8

Je voudrais implémenter quelque chose de similaire aux articles "collants" dans un forum, où un ou deux d'entre eux apparaissent en haut, suivi du contenu du blog, et je veux que ces articles "collants" soient modifiables par un modérateur à l'avant -fin.

Une façon de simuler un seul article "collant" consiste à placer le contenu dans la description de la catégorie, mais cela ne fonctionne que pour un seul article et n'est pas modifiable dans le front-end.

Je veux penser latéralement. Peut-être que je pense à tout cela de travers. Cela pourrait éventuellement être fait en tant que catégorie de blog distincte affichée sous les articles principaux (dans un module?), Et où les éléments de blog eux-mêmes sont gérés sous un élément de menu distinct.

Peter Wiseman
la source

Réponses:

9

La méthode la plus simple que je puisse penser est d'utiliser l'option "en vedette" sur les articles. Marquez tout article que vous voulez "collant" comme "en vedette" dans le gestionnaire d'articles.

Ensuite, dans l'élément de menu pour la mise en page du blog, passez à la "mise en page du blog" et recherchez "l'ordre des articles". Sélectionnez "Commande d'articles en vedette" pour mettre les articles en vedette en premier.

Le mauvais côté de cette méthode est qu'elle utilise le "classement" comme métrique secondaire au lieu de la date. Ainsi, les articles mettront les éléments en vedette en premier, puis les trieront selon l'ordre que vous définissez dans le gestionnaire d'articles, pas nécessairement le plus récent en premier. (Cela vous permet de commander les articles collants, donc c'est bien.)

Je crois que les nouveaux articles seront par défaut à la première place, donc ils devraient être à peu près dans l'ordre des dates, mais il pourrait y avoir quelques bizarreries à cela.

[PW: L'ordre secondaire est l'ordre des fonctionnalités, pas l'ordre des articles, donc c'est un problème, sauf si je modifie le code principal pour ajouter un troisième ordre. J'ai créé Joomla Tracker Item # 33685 et inclus un patch. Il ne nous reste plus qu'à le faire tester et à accepter. ]

David Fritsch
la source
Excellente réponse, je n'aurais jamais pensé à utiliser la commande d'articles en vedette comme ça. Cela fonctionne "presque" aussi, mais le sous-classement est étrange. J'ai 1 article en vedette (A), affiché dans un blog de catégorie. Je crée deux nouveaux articles, B et C. Ceux-ci apparaissent comme A, B, C, bien que l'ordre des articles soit C, B, A (c'est-à-dire les nouveaux d'abord). Lorsque je marque B comme indiqué, il apparaît au-dessus de A. J'utilise 2.5.19. Je vais devoir vérifier du code pour confirmer la commande - peut-être qu'il n'y a pas de sous-commande en 2.5, et c'est juste aléatoire.
Peter Wiseman
Oui, je n'ai pas vraiment essayé de faire ça, mais j'ai l'impression qu'il y a une solution à cela. Commander manuellement serait une énorme douleur cependant ...
David Fritsch
Le sous-ordre utilise uniquement l'ordre des fonctionnalités, pas l'ordre des articles. :( components / com_content / helpers / query.php: orderbySecondary
Peter Wiseman
1
J'ai créé un élément Joomla Tracker qui comprend un patch, ajoutant un ordre tertiaire à l'ordre des articles en vedette. joomlacode.org/gf/project/joomla/tracker/…
Peter Wiseman
1
Oui, ce correctif le corrige pour moi. Les articles non présentés ont des valeurs NULL pour fp.ordering. La table FP est une jointure externe qui n'est remplie que pour les articles en vedette.
Peter Wiseman
7

Matt Thomas a récemment décrit sa méthode, que je privilégie également, pour créer des articles collants dans Joomla 3.x:

http://betweenbrain.com/notes/71-sticky-articles-in-joomla-3

En substance, tout ce que vous devez faire est de commander les articles par date de création et de définir la date de création de votre article «collant» à quelque chose de loin dans le futur.

Seth Warburton
la source
Bien que ce soit la meilleure réponse jusqu'à présent, ce n'est toujours pas l'idéal. J'avais voulu trier par date de modification, mais ce n'est pas modifiable par l'utilisateur. La date de publication serait plus logique que la date de création de l'ordre des articles non collants, mais les articles collants seraient publiés jusqu'à présent dans le futur, ils n'apparaîtraient jamais. Donc je suppose que la date de création devra faire l'affaire. Ou ... je pourrais pirater le code de base après chaque mise à jour (pas une perspective agréable).
Peter Wiseman
Eh bien, c'est l'autre option à coup sûr. Mais plutôt que de pirater le noyau, vous pouvez simplement utiliser une substitution de modèle de com_content / category / default.php et un code dur dans l'article `` collant '' en référençant directement son ID. Je suggère simplement d'insérer une nouvelle section au-dessus de la section des articles principaux pour contenir cela.
Seth Warburton
Quelque chose comme ça? Dans blog.php. Existe-t-il une meilleure façon d'obtenir un article? Il s'agit simplement d'un article fixe qui s'appliquera à tous les blogs de catégorie. Je veux les articles "collants" correspondant à la catégorie. <div class = "items-sticky"> <? php $ stickymodel = JModelLegacy :: getInstance ('Article', 'ContentModel'); $ this-> item = $ stickymodel-> getItem (142); echo $ this-> loadTemplate ('item'); ?> </div>
Peter Wiseman
Cela pourrait entraîner des problèmes de référencement, en particulier tout balisage de schéma qui dépend de la date. Google pourrait ne pas indexer l'article s'il pense qu'il n'a pas encore été publié.
Carl Whalley
1

Je ne suis pas vraiment sûr de ça,

Définissez l'ordre dans le gestionnaire d'articles. Là, vous pouvez définir l'ordre sur une valeur négative (par exemple -10). De cette façon, l'article restera au top. Je pense que cela dépend en quelque sorte du réglage dans votre menu (réglage avancé de la façon dont les articles doivent être triés).

kumarramalingam
la source
Malheureusement, je ne pense pas que cette méthode fonctionne dans Joomla 3 car je ne peux pas définir manuellement la valeur numérique pour la commande.
cerveau
1

Une autre option que vous pourriez essayer si vous vouliez faire un modèle de remplacement serait de dupliquer la sortie des résultats et de créer les premiers articles en vedette et le deuxième ordre par date.

Ou pour les emplacements comme les barres latérales où vous pouvez utiliser des modules, vous pouvez les commander de sorte que le premier affiche le titre et vient de présenter des articles et le second masque le titre et soit classé par date.

tout comme les pensées ...

tristanbailey
la source