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

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Вывод названия раздела.
« : 05.10.2010, 08:05:05 »
К сожалению на форуме не нашел ответа,подскажите как вывести название раздела в шаблоне.
*

effrit

  • Легенда
  • 9008
  • 985 / 9
  • effrit.com
Re: Вывод названия раздела.
« Ответ #1 : 05.10.2010, 08:31:38 »
если это где-то в области статьи, то вот тут можно почитать
http://joomlaforum.ru/index.php/topic,84140.new.html
сама вставка будет такой:
<?php echo $this->escape($this->article->section); ?>
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #2 : 05.10.2010, 08:33:23 »
Нужно вывести над меню,код вставил выдает это :Fatal error: Call to undefined method JDocumentHTML::escape()
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #3 : 05.10.2010, 08:45:10 »
Не понял про какую тему идет речь?
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #4 : 05.10.2010, 08:52:15 »
Понятно.Может кто еще знает?
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #5 : 05.10.2010, 09:51:48 »
Прикрепил скрин http://s60.radikal.ru/i168/1010/36/d1c200a4ce93.jpg
название нужно вывести в шаблоне
*

effrit

  • Легенда
  • 9008
  • 985 / 9
  • effrit.com
Re: Вывод названия раздела.
« Ответ #6 : 05.10.2010, 10:12:00 »
ну, раз программеры все спят, то вот, для раздела попробуй это.

Код
function getSection($iId) {
$database = &JFactory::getDBO();

if(JRequest::getVar( 'view', 'NONE') == "section"){
$row = JRequest::getVar( 'id', 'NONE');
}else if(Jrequest::getVar( 'view', 'NONE') == "category"){
//echo 'hit category';
$sql = "SELECT section FROM #__categories WHERE id = $iId ";
$database->setQuery( $sql );
$row=$database->loadResult();
}

else if(Jrequest::getVar( 'view', 'NONE') == "article"){
//echo 'hit article';
$sql = "SELECT sectionid FROM #__content WHERE id = $iId ";
$database->setQuery( $sql );
$row=$database->loadResult();
         }
$row=(int)($row);
//echo $row;

$sql = "SELECT title FROM #__sections WHERE id = $row ";
         $database->setQuery( $sql );
         $row=$database->loadResult();

return $row;

   }
   $section=getSection(JRequest::getInt('id', 'NONE'));
   echo  $section;
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #8 : 05.10.2010, 10:16:00 »
Вот отлично!Спасибо!Это кусок кода с какого то файла из Joomla?
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #10 : 05.10.2010, 10:20:28 »
Не знаешь код чтоб еще название категории выводило?
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #12 : 05.10.2010, 10:27:31 »
Да если б я знал как не спрашивал бы :-)
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод названия раздела.
« Ответ #13 : 05.10.2010, 11:40:33 »
Код: php
<?php
$option =  JRequest::getWord('option');
if ($option == 'com_content') {
$view = JRequest::getWord('view');
$id = JRequest::getInt('id');
$db = &JFactory::getDBO();
switch ($view) {
default:
case 'section' :
$query = 'SELECT title FROM #__sections WHERE id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadResult();
break;
case 'category':
$query = 'SELECT s.title FROM #__categories AS a ' .
' LEFT JOIN #__sections AS s ON a.section = s.id ' .
' WHERE a.id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadResult();
break;
case 'article':
$query = 'SELECT s.title FROM #__content AS a ' .
' LEFT JOIN #__sections AS s ON a.sectionid = s.id ' .
' WHERE a.id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadResult();
break;
}
}
if (isset($result)) echo $result;
?>
^-^
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #14 : 05.10.2010, 11:42:46 »
Это  я так понимаю правильный код который тоже выводит название раздела?
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод названия раздела.
« Ответ #15 : 05.10.2010, 11:45:20 »
Это  я так понимаю правильный код который тоже выводит название раздела?
да, только на один запрос меньше будет.
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #16 : 05.10.2010, 11:46:47 »
ОК,спасибо.
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела.
« Ответ #17 : 05.10.2010, 11:47:27 »
А как название категории вывести?
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод названия раздела.
« Ответ #18 : 05.10.2010, 12:03:17 »
А как название категории вывести?
ну по аналогии, написали же
Код: php
<?php
$option =  JRequest::getWord('option');
if ($option == 'com_content') {
$view = JRequest::getWord('view');
$id = JRequest::getInt('id');
$db = &JFactory::getDBO();
switch ($view) {
default:
case 'category':
$query = 'SELECT title FROM #__categories WHERE id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadResult();
break;
case 'article':
$query = 'SELECT s.title FROM #__content AS a ' .
' LEFT JOIN #__categories AS s ON a.catid = s.id ' .
' WHERE a.id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadResult();
break;
}
}
if (isset($result)) echo $result;
?>
*

Mixxxa

  • Захожу иногда
  • 88
  • 0 / 0
Re: Вывод названия раздела
« Ответ #19 : 05.10.2010, 12:07:57 »
Спасибо, сейчас только увидел разницу в кодах.
« Последнее редактирование: 10.07.2013, 00:03:28 от Mixxxa »
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод названия раздела.
« Ответ #20 : 05.10.2010, 12:38:18 »
Итого проверка на раздел и категорию будет выглядеть примерно так:
Код: php
<?php
$option =  JRequest::getWord('option');
if ($option == 'com_content') {
$view = JRequest::getWord('view');
$id = JRequest::getInt('id');
$db = &JFactory::getDBO();
switch ($view) {
default:
case 'section' :
$query = 'SELECT title FROM #__sections WHERE id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadResult();
break;
case 'category':
$query = 'SELECT s.title AS section_title, a.title AS category_title FROM #__categories AS a ' .
' LEFT JOIN #__sections AS s ON a.section = s.id ' .
' WHERE a.id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadObject();
break;
case 'article':
$query = 'SELECT s.title AS section_title, c.title AS category_title FROM #__content AS a ' .
' LEFT JOIN #__sections AS s ON a.sectionid = s.id ' .
' LEFT JOIN #__categories AS c ON a.catid = c.id ' .
' WHERE a.id = ' . (int) $id;
$db->setQuery($query);
$result = $db->loadObject();
break;
}
}
if (isset($result)) {
if (is_object($result) && $result->section_title != '') {
echo 'Раздел: ' . $result->section_title . ' Категория: ' . $result->category_title;
} else if (!is_object($result)) {
echo 'Раздел: ' . $result;
}
}
?>

*

vovchikku

  • Захожу иногда
  • 398
  • 1 / 0
Re: Вывод названия раздела.
« Ответ #21 : 23.10.2010, 22:56:35 »
Можно ли предложенный код применить к следующей проблеме:
Нужно, чтобы при отображении материала из определенной категории выводился модуль только для этой категории?
*

vovchikku

  • Захожу иногда
  • 398
  • 1 / 0
Re: Вывод названия раздела.
« Ответ #23 : 24.10.2010, 10:17:56 »
да, я мне вчера подсказали еще одно решение: advansed module manager - класс! то, что нужно!
*

effrit

  • Легенда
  • 9008
  • 985 / 9
  • effrit.com
Re: Вывод названия раздела.
« Ответ #24 : 24.10.2010, 10:20:25 »
а. чёрт. я неправильно прочитал )
мой совет был касаемо вывода материалов из той же категории, что и текущий открытый материал )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать вывод позиции модулей внутри компонента?

Автор Виталик

Ответов: 11
Просмотров: 7623
Последний ответ 11.08.2014, 05:16:59
от GapArchi
Смена CSS в зависимости от раздела, компонента и т.д.

Автор UserAleks

Ответов: 28
Просмотров: 12236
Последний ответ 11.05.2012, 03:22:23
от xabbep
Изменить отображение пункта меню, в зависимости от раздела сайта.

Автор clstl

Ответов: 1
Просмотров: 1567
Последний ответ 05.10.2011, 14:06:06
от zmancer
Как правильно переопределять вывод компонентов, модулей и т.д. в сосбвенном шаблоне

Автор Dr_Satyr

Ответов: 2
Просмотров: 5468
Последний ответ 14.07.2011, 20:55:56
от Matvey
Вывод статей на главную

Автор flashback

Ответов: 4
Просмотров: 1688
Последний ответ 06.04.2011, 07:59:39
от flashback