Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 4571 Просмотров
*

Zuev

  • Захожу иногда
  • 211
  • 15 / 1
  • В дальнем плавании
как получить id материала
« : 27.02.2009, 00:19:47 »
как в своем скрипте получить id текущего материала joomlaвскими методами. (скрипт вставляется в тело материала).
*

Zuev

  • Захожу иногда
  • 211
  • 15 / 1
  • В дальнем плавании
Re: как получить id материала
« Ответ #1 : 27.02.2009, 00:23:12 »
нашел вот какой вариант:
Код
	$uri = &JFactory::getURI();
$url = $uri->toString(array('path', 'query', 'fragment'));

таким образом в $url оказвается весь путь к материалу.

можно конечно и из $url выдрадь id.

Но что-то мне подсказывает, что должен быть более простой и элегантный метод
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: как получить id материала
« Ответ #2 : 27.02.2009, 00:27:16 »
Я так понимаю это отголосок другой темы? Для того, чтобы ответить, как получить этот идентификатор, сначала надо понять, что значит фраза "вставляется в тело материала". Если данный скрипт это плагин для компонента com_content, то идентификатор материала можно получить из плагина (там объект передается в методы плагина), подробнее посмотрите /plugins/content/example.php.
*

Zuev

  • Захожу иногда
  • 211
  • 15 / 1
  • В дальнем плавании
Re: как получить id материала
« Ответ #3 : 27.02.2009, 00:30:08 »
нет это не плагин, а вставляется с помощью add_php
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: как получить id материала
« Ответ #4 : 27.02.2009, 00:31:58 »
Ну тогда надо смотреть код этого add_php, и пытаться понять, что будет доступно скрипту, вставленному таким образом. Но если это отголосок указанной мной темы - мне кажется, это несколько нерациональный путь.
*

Zuev

  • Захожу иногда
  • 211
  • 15 / 1
  • В дальнем плавании
Re: как получить id материала
« Ответ #5 : 27.02.2009, 00:35:16 »
кстати по поводу прошлой темы, там тоже необходимо в шаблоне реализовать проверку нужного материала, где кстати опять нужен этот же id.

как в таком случае поступить?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: как получить id материала
« Ответ #6 : 27.02.2009, 00:42:16 »
Ну по той задаче, я бы попробовал вставить проверку (ну и сам код добавления скрипта к шапке) в переопределенный вид материала (view) в шаблоне.

Т.е. для шаблона ja_purity это будет файл /templates/ja_purity/html/com_content/article/default.php. В нем нам весь объект статьи доступен в переменной $this->article, таким образом проверка может быть вот такой:

Код: php
<?php
if ($this->article->id == 911) {
  $document = & JFactory::getDocument();
  $document->addStyleSheet(JURI::root() . 'myphp/style.css');
  $document->addScript(JURI::root() . 'myphp/script.js');
}
?>

По идее должно сработать...

Что же касается других задач, я бы подумал вот над чем - если для вас не составляет труда написать некий скрипт, то почему бы тогда просто не оформить его плагином (я ниже давал ссылку на пример такого плагина) и в нем это все не реализовать. Во-первых, ваш код будет вызываться напрямую ядром Joomla, а значит быстродействие будет выше, во-вторых ваш код не будет зависеть от сторонних скриптов, в-третьих вам будет доступен объект материала со всеми полями. Подумайте, мне кажется это было бы более правильно.
*

Zuev

  • Захожу иногда
  • 211
  • 15 / 1
  • В дальнем плавании
Re: как получить id материала
« Ответ #7 : 27.02.2009, 00:48:59 »
спасибо smart, за помощь
+1
*

Pencil

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
  • Pencil-box.ru
Re: как получить id материала
« Ответ #8 : 16.10.2010, 04:07:51 »
Господа, а может подскажете как в mod_php можно  вывести название текущего материала (страницы)?
Объясню для чего нужно: не устраивает размещение заголовков страниц в компоненте, хочу вывести их выше. Причем между заголовком и содержимым будет еще строка навигации и меню.
 !
*

Pencil

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
  • Pencil-box.ru
Re: как получить id материала
« Ответ #10 : 16.10.2010, 12:13:18 »
Спасибо, конечно же, материал примерно в том же направлении. Но тут мне показалось более узко направленная тема.
А в приведенной вами теме я так и не увидел переменной содержащей имя страницы. По упомянутым там файлам прошелся, поперебирал похожие переменные, но видимо что то делал не так. Вывести название материала в модуль мне так и не удалось.
Мои познания в PHP только базовые, собственно поэтому и обращаюсь за помощью.

Может кто написать эти 2-3 строки кода которые выведут на экран название страницы?
Я догадываюсь что там что то типа echo $article;
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заголовок страницы вида Имя материала / имя категории / имя раздела /

Автор rubasket

Ответов: 2
Просмотров: 13674
Последний ответ 24.03.2017, 01:13:50
от mbgr
Поиск материала

Автор rjk112

Ответов: 3
Просмотров: 1305
Последний ответ 31.10.2016, 11:15:50
от rjk112
Кнопки like-dislike для материала

Автор Aiden

Ответов: 0
Просмотров: 1271
Последний ответ 14.05.2016, 13:23:55
от Aiden
Проблема при добавлении материала

Автор illia

Ответов: 4
Просмотров: 1337
Последний ответ 12.05.2016, 12:23:30
от 4erep
Как менять дату создания материала с фронтенда? Или как объединить ее с датой публикации?

Автор shturmanoid

Ответов: 3
Просмотров: 1901
Последний ответ 29.04.2016, 08:22:50
от flyingspook