Реализация липких статей

8

Я хотел бы реализовать что-то похожее на «липкие» статьи на форуме, где одна или две из них появляются вверху, а затем содержимое блога, и я хочу, чтобы эти «липкие» статьи редактировались модератором спереди. -конец.

Один из способов имитации одной «липкой» статьи - поместить контент в описание категории, но это работает только для одной статьи и не редактируется во внешнем интерфейсе.

Я готов думать со стороны. Возможно, я думаю обо всем этом неправильно. Это может быть сделано в виде отдельной категории блога, которая отображается под основными статьями (в модуле?), И где самими элементами блога управляются в отдельном пункте меню.

Питер Уайзман
источник

Ответы:

9

Самый простой способ, который я могу придумать, - использовать опцию «Featured» в статьях. Пометьте любую статью, которую вы хотите "прикрепить", в качестве "рекомендуемой" в менеджере статей.

Затем в пункте меню для макета блога переключитесь на «макет блога» и найдите «порядок статьи». Выберите «Порядок избранных статей», чтобы разместить избранные статьи первыми.

Недостатком этого метода является то, что он использует «упорядочение» в качестве вторичной метрики вместо даты. Таким образом, статьи будут сначала размещать избранные объекты, а затем сортировать их по порядку, который вы задали в менеджере статей, а не обязательно сначала по порядку. (Это позволяет вам заказать липкие статьи, так что это хорошо.)

Я считаю, что новые статьи будут по умолчанию на верхнем месте заказа, так что это должно быть примерно в порядке дат, но здесь могут быть некоторые причуды.

[PW: Вторичный порядок - это порядок элементов, а не порядок статей, поэтому это проблема, если я не изменю код ядра, чтобы добавить третий порядок. Я создал Joomla Tracker Item # 33685 и включил патч. Теперь все, что нам нужно сделать, это проверить и принять его. ]

Дэвид Фрич
источник
Отличный ответ, но я бы никогда не использовал такой порядок Избранных Статей. Это «почти» тоже работает, однако суб-заказ странный. У меня есть 1 существующая статья (A), показанная в блоге категории. Я создаю две новые статьи, B и C. Они отображаются как A, B, C, несмотря на то, что порядок статей - C, B, A (т.е. сначала новые). Когда я отмечаю B как показанный, он появляется над A. Я использую 2.5.19. Мне нужно проверить некоторый код, чтобы подтвердить порядок - возможно, в 2.5 нет подупорядочения, и это просто случайно.
Питер Уайзман
Да, я на самом деле не пытался сделать это, но я чувствую, что есть решение в этом. Заказ вручную будет ОГРОМНОЙ болью, хотя ...
Дэвид Фрич
В суб-заказе используется только порядок элементов, а не порядок статей. :( components / com_content / helpers / query.php: orderbySecondary
Питер Уайзман,
1
Я создал Joomla Tracker Item, который включает в себя патч, добавляющий третичный ордер к заказу Избранных статей. joomlacode.org/gf/project/joomla/tracker/…
Питер Уайзман
1
Да, этот патч исправляет это для меня. Статьи без признака имеют NULL для fp.ordering. Таблица FP - это внешнее соединение, которое заполняется только для избранных статей.
Питер Уайзман
7

Мэтт Томас недавно описал свой метод, который я тоже одобряю, для создания заметок в Joomla 3.x:

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

По сути, все, что вам нужно сделать, это упорядочить статьи по дате создания и установить дату создания вашей «липкой» статьи на что-то далекое в будущем.

Сет Уорбертон
источник
Пока это лучший ответ, но он все еще не идеален. Я хотел отсортировать по дате изменения, но это не может быть изменено пользователем. Дата публикации будет иметь более логичный смысл, чем дата создания для порядка нелипких предметов, но тогда липкие статьи будут опубликованы до сих пор, они никогда не появятся. Так что я думаю, что созданная дата должна будет сделать. Или ... Я мог взломать основной код после каждого обновления (не очень приятная перспектива).
Питер Уайзман
Ну, это другой вариант наверняка. Но вместо того, чтобы взламывать ядро, вы можете просто использовать переопределение шаблона com_content / category / default.php и hardcode в «липкой» статье, напрямую ссылаясь на его идентификатор. Я бы предложил просто вставить новый раздел над разделом ведущих статей, чтобы содержать это.
Сет Уорбертон
Что-то вроде этого? В блоге. Есть ли лучший способ получить статью? Это просто фиксированная статья, которая будет применяться ко всем категориям блогов. Я хочу "липкие" статьи, соответствующие категории. <div class = "items-sticky"> <? php $ stickymodel = JModelLegacy :: getInstance ('Article', 'ContentModel'); $ this-> item = $ stickymodel-> getItem (142); echo $ this-> loadTemplate ('item'); ?> </ div>
Питер Уайзман
Это может вызвать проблемы с SEO, в частности, любая разметка схемы, которая зависит от даты. Google может не проиндексировать статью, если считает, что она еще не опубликована.
Карл Уолли
1

Я не совсем уверен в этом,

Установите порядок в менеджере статей. Там вы можете установить порядок на отрицательное значение (например, -10). Таким образом, статья останется на вершине. Я думаю, что это как-то зависит от настроек в вашем меню (расширенная настройка порядка сортировки статей).

kumarramalingam
источник
К сожалению, я не верю, что этот метод работает в Joomla 3 из-за невозможности вручную установить числовое значение для порядка.
мозгом
1

Другой вариант, который можно попробовать, если вы хотите создать шаблон переопределения, - дублировать вывод результатов и создать первые только что показанные статьи и второй порядок по дате.

Или для таких мест, как боковые панели, где вы можете использовать модули, вы можете заказать их так, чтобы первый показывал заголовок и только что показал статьи, а второй скрывал заголовок и имел порядок по дате.

так же, как мысли ...

tristanbailey
источник