简体   繁体   中英

How to add “tags” in joomla 3.x blog layout

I would like to add the article tags in my blog layout in joomla 3.x. I overwrote the joomla layout files and tried to add the code below in blog_style_default_item_title.php as it is in article

 <?php if ($params->get('show_tags', 1) && !empty($this->item->tags)) : ?>
    <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
    <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
<?php endif; ?> 

but it did not work. I guess variable name is not the good one. Any ideas?

My knowledges in php language are pretty weak but I had a look and tried a few think.

I finaly got something by adding code below in /com_content/category/blog_items.php

<?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
<?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>

but i would like to add "tags" on the title line so in blog_style_default_item_title.php file

<?php

defined('_JEXEC') or die;

// Create a shortcut for params.
$params = $displayData->params;
$canEdit = $displayData->params->get('access-edit');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.framework');
?>

<?php if ($params->get('show_title') || $displayData->state == 0 || ($params->get('show_author') && !empty($displayData->author ))) : ?>
    <div class="page-header">


        <?php if ($params->get('show_title')) : ?>
            <h2>essai
                <?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
                    <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid)); ?>">
                    <?php echo $this->escape($displayData->title); ?></a>
                <?php else : ?>
                    <?php echo $this->escape($displayData->title); ?>
                <?php endif; ?>
            </h2>
        <?php endif; ?>

    <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
    <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>


        <?php if ($displayData->state == 0) : ?>
            <span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span>
        <?php endif; ?>
    </div>
<?php endif; ?>

But i have a error???

Here is how they are added to individual weblinks

    <?php $tagsData = $item->tags->getItemTags('com_weblinks.weblink', $item->id); ?>
    <?php if ($this->params->get('show_tags', 1)) : ?>
        <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
        <?php echo $this->item->tagLayout->render($tagsData); ?>
    <?php endif; ?>

What you would want to do is something similar but for com_content.article and make sure the $item and $this->params references match what you have.

Here a picture of the design I would like

And he below the way the page id made of (as i understood it)

in blog_item.php there is this line which call the

...
<?php echo JLayoutHelper::render('joomla.content.blog_style_default_item_title', $this->item); ?>
....

and so in blog_style_default_item_title.php

....
<div class="page-header">
<?php if ($params->get('show_title')) : ?>
            <h2>essai
                <?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
                    <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid)); ?>">
                    <?php echo $this->escape($displayData->title); ?></a>
                <?php else : ?>

Did I make a mistake??

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM