Плагин Joomla: как получить заголовок статьи и идентификатор статьи - PullRequest
4 голосов
/ 19 мая 2011

Я разработал простой плагин в Joomla 1.6 Я застрял на: Как получить заголовок статьи и URL статьи.

Я не получаю вывод, если попытался напечатать следующее утверждение:

echo $article->title;
echo $article->id;

Я написал это в php-файле, но не использовал архитектуру MVC. Есть ли какие-либо другие настройки, которые необходимо выполнить на стороне администратора Joomla?

Пожалуйста, предложите ваши указатели для извлечения названия статьи и URL статьи.

Заранее спасибо!

Pravin

Ответы [ 5 ]

14 голосов
/ 19 мая 2011

Чтобы получить идентификатор статьи, необходимо написать следующее:

echo JRequest::getVar('id');

Для заголовка вы просто берете полученный идентификатор и загружаете объект статьи

$blabla = $article->load(ID);
echo $blabla->get('title');
7 голосов
/ 09 сентября 2014

Кажется, JRequest устарело в 2.5 и 3.x, как указано в списке Устаревшие элементы .

Я бы предпочел использовать следующее:

$article_id = JFactory::getApplication()->input->get('id');
5 голосов
/ 20 мая 2011

я пытался:

public function onContentPrepare($context,&$article, &$params, $limitstart) {
 echo JRequest::getVar('id');
}

Тем не менее я не получаю идентификатор.Это правильно?

Статья загружена в ваш второй аргумент ($article).Находясь на этом событии (onContentPrepare), единственное свойство, к которому вы можете получить доступ, это $article->text.

Для соответствия вашей цели (получение идентификатора и названия статьи) вы захотите использовать другое событие, называемое "onContentBeforeDisplay ".

public function onContentBeforeDisplay($context, &$article, &$params, $limitstart)

Здесь у вас (снова) статья прошла через второй аргумент, но теперь у вас есть доступ к таким свойствам, как $article->id, $article->title и многим другим.

Для будущих ссылок на события контента, посмотрите на файл " plugins \ content \ example \ example.php "

0 голосов
/ 05 июня 2013

Вы можете использовать для получения активного названия статьи, как это

$menu =& Jsite::getMenu(); echo $menu->getActive()->title;

может это поможет.

0 голосов
/ 09 августа 2012

Чтобы получить идентификатор статьи Joomla, используйте это ...

<?php echo JRequest::getVar('Itemid'); ?>

В предыдущем ответе кто-то использовал id вместо Itemid.Надеюсь, это поможет!

...