2

I use an override of com_content/views/article/tmpl/default.php to display the author name below the article text:

<div itemprop="articleBody">
<?php echo $this->item->text;?>
<?php echo JLayoutHelper::render('joomla.content.info_block.author', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
</div>

But I also use a plugin (Disqus by JW) which is loaded just below

<div itemprop="articleBody"><?php echo $this->item->text; ?>. 

So the current order is:

  • Article
  • Disqus comment
  • Author

How can I force the Disqus plugin to load below the author name so I get in this order:

  • Article
  • Author
  • Disqus comment
2

As shown in this question:

Make an override of /plugins/content/jw_disqus/jw_disqus/tmpl/article.php in your template folder /html/jw_disqus/article.php.

In this file echo $row->text actually prints the article content, so just add the statement to show the article's author where you need (replacing $this->item with $row):

echo JLayoutHelper::render('joomla.content.info_block.author', array('item' => $row, 'params' => $params, 'position' => 'below'));

JLayoutHelper refers to the file path of the first parameter, in this case refers to /layouts/joomla/content/info_block/author.php

0

It may be simpler to reorder the elements using CSS without having to create an override.

There are a few ways to do this. See Swap DIV position with CSS only for some options.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.