Вызов параметров названия категории из com_content

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

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

defined('JPATH_BASE') or die;

?>
<div class="category-name"> 

    <?php $title = $this->escape($displayData['item']->category_title); ?>
    <?php if ($displayData['params']->get('link_category') && $displayData['item']->catslug) : ?>
        <?php echo '<a href="' . JRoute::_(ContentHelperRoute::getCategoryRoute($displayData['item']->catslug)) . '" itemprop="genre" data-toggle="tooltip"><i class="fa fa-folder-open-o"></i> ' . $title . '</a>'; ?>
    <?php else : ?>
        <?php echo '<span itemprop="genre" itemprop="genre" data-toggle="tooltip" title="' . JText::_('COM_CONTENT_CONTENT_TYPE_CATEGORY') . '">' . $title . '</span>'; ?>
    <?php endif; ?>
</div>

Я попытался скопировать /вставить его в свой модуль, но это не сработало. Я понял, что мне нужно сначала импортировать компонент Joomla. что-то вроде этого:

jimport('joomla.application.component.helper');
$content_params = JComponentHelper::getParams( 'com_content' );
$show_category = $content_params->get( 'show_category' );

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

2 голоса | спросил Peter 15 Jpm1000000pmFri, 15 Jan 2016 19:20:05 +030016 2016, 19:20:05

1 ответ


2

Вот небольшой фрагмент кода, который будет получать имя категории для вас. Этот код предполагает, что вы находитесь на странице статьи.

<?php

$JInput = JFactory::getApplication()->input;
$articleId = $JInput->get('id','','int');

$categoryName = getCategoryName($articleId);

echo $categoryName;

function getCategoryName($articleId)
{
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $query->select('c.title');
    $query->from('#__categories AS c');
    $query->join("INNER","#__content AS a ON c.id = a.catid");
    $query->where("a.id = '$articleId'");
    $db->setQuery($query);
    $row = $db->loadObject();

    return $row->title;
}
?>

Для одного элемента меню artilce URL-адрес, сгенерированный в базе данных, содержит параметр id. JInput захватывает значение id и запрашивает базу данных с помощью функции getCategoryName, которая возвращает правильное имя категории для вас как переменной $ categoryName.

Иметь хороший.

ответил Terry Carter 4 FebruaryEurope/MoscowbThu, 04 Feb 2016 21:49:57 +0300000000pmThu, 04 Feb 2016 21:49:57 +030016 2016, 21:49:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132