Можно сделать одни системным плагином, причем довольно простым.
Примерно так.
Если с добавлением "типа пункта меню"
Добавляем "тип пункта меню"
1. В пакете создаем файл XML переопределения для com_content view=article. Назвовем его lastarticle.xml
2. При установке закидываем этот файл в /components/com_content/views/article/tmpl
Дальше сразу 3 варианта на выбор.
Первый:
В lastarticle.xml в request делаем поля
<field type="hidden" name="id" default="-1"/>
<field type="hidden" name="show_last_article_url" default="true"/>
В плагине в событии
onAfterRender 1. Получаем ссылку ссылку
Route::_('index.php?option=com_content&view=article&id=-1&show_last_article_url=true&layout=lastarticle');
2. Проверяем body на наличие через регулярку.
3. Если есть совпадения, делаем запрос в БД, чтобы получить данные последнего материала для генерации новой ссылки.
4. Заменяем ссылки.
Второй и третий вариант.
В lastarticle.xml в request делаем поля
<field type="hidden" name="id" default="1"/>
<field type="hidden" name="show_last_article_url" default="true"/>
В плагине в событии
onAfterRoute (МБ могут быть проблемы с тем что id=1 не существует, но можно решить сделав просто поле с одним итемом)
Проверяем
option view и
show_last_article_urlЕсли все подходит, то делаем запрос в БД и получаем данные необходимые для генерации новой ссылки.
Ну а дальше в зависимости от индексации уже либо просто заменяем id либо делаем редирект.
Если же без добавления "типа пункта меню"
Можно просто вставлять во внешний URL index.php?option=showlast&view=article Ну а потом так же несколько вариантов.
В принципе ничего сложного. Вопрос только в том, а так ли это нужно в меню.