Keyword

[SOLVED] Use plugins in tag-view

  • Ronny Van Der Borght
  • Ronny Van Der Borght's Avatar Topic Author
  • Offline
  • Senior Member
More
9 years 2 weeks ago #143102 by Ronny Van Der Borght
Use plugins in tag-view was created by Ronny Van Der Borght
Hi,
I would like to use plugins in the tag-view (SIGpro and Allvideos). I created an override for tag.php and altered the foreach loop like this:
<?php if(count($this->items)): ?>
	<?php foreach($this->items as $item): ?>
	<?php $dispatcher = JDispatcher::getInstance();
	JPluginHelper::importPlugin('k2');
	$results = $dispatcher->trigger('K2AfterDisplayContent', array(&$item, &$params, &$limitstart));
	$this->event->K2AfterDisplayContent = trim(implode("\n", $results)); ?>
	<?php echo $item->introtext; ?>
	<?php echo $item->gallery; ?>
	<?php endforeach; ?>
<?php endif; ?>
But it does not work. My output is just {gallery}60{/gallery} , on other views (item.php, category_item.php) it is working perfecly.
I'm not sure if I need to use K2AfterDisplayContent. Does anybody know where or how the plugins need to be loaded ?

K2 v 2.6.9, Joomla 3.4.1

Please Log in or Create an account to join the conversation.

More
9 years 2 weeks ago #143141 by Lefteris
Replied by Lefteris on topic Use plugins in tag-view
Hi,

This is not as simple as that. Try this code:
<?php if(count($this->items)): ?>
<?php 
$dispatcher = JDispatcher::getInstance();
JPluginHelper::importPlugin('content');
$params = JComponentHelper::getParams('com_k2');
?>
	<?php foreach($this->items as $item): ?>
		<?php	if ($item->gallery)
			{
				if (JString::strpos($item->gallery, 'flickr.com') === false)
				{
					$item->gallery = "{gallery}{$item->id}{/gallery}";
				}
				$params->set('galleries_rootfolder', 'media/k2/galleries');
				$item->text = $item->gallery;

					$dispatcher->trigger('onContentPrepare', array(
						'com_k2.itemlist',
						&$item,
						&$params,
						$limitstart
					));
				
				$item->gallery = $item->text;
			} ?>

	<?php echo $item->introtext; ?>
	<?php echo $item->gallery; ?>
	<?php endforeach; ?>
<?php endif; ?>

JoomlaWorks Support Team
---
Please search the forum before posting a new topic :)

Please Log in or Create an account to join the conversation.

  • Ronny Van Der Borght
  • Ronny Van Der Borght's Avatar Topic Author
  • Offline
  • Senior Member
More
9 years 2 weeks ago #143146 by Ronny Van Der Borght
Replied by Ronny Van Der Borght on topic Use plugins in tag-view
Great that's it !

I slightly modified this to to the same for allvideo's, so you could use both plugins:
<?php if(count($this->items)): ?>
				<?php echo $item->introtext; ?>
				<?php 
				$dispatcher = JDispatcher::getInstance();
				JPluginHelper::importPlugin('content');
				$params = JComponentHelper::getParams('com_k2');
				?>
				<?php foreach($this->items as $item): ?>
					<?php if ($item->gallery)
						{
							if (JString::strpos($item->gallery, 'flickr.com') === false)
							{
								$item->gallery = "{gallery}{$item->id}{/gallery}";
							}
							$params->set('galleries_rootfolder', 'media/k2/galleries');
							$item->text = $item->gallery;
							$dispatcher->trigger('onContentPrepare', array(
									'com_k2.itemlist',
									&$item,
									&$params,
									$limitstart
								));
							
							$item->gallery = $item->text;
						} ?>
					<?php echo $item->gallery; ?>
					<?php if ($item->video)
						{
							$item->gallery = "{youtube}{$item->id}{/youtube}";
							$item->text = $item->video;
							$dispatcher->trigger('onContentPrepare', array(
									'com_k2.itemlist',
									&$item,
									&$params,
									$limitstart
								));
							$item->video = $item->text;
						} ?>
				<?php echo $item->video; ?>
				<?php endforeach; ?>
			<?php endif; ?>

Please Log in or Create an account to join the conversation.

More
9 years 1 week ago #143434 by Rui Braz
Replied by Rui Braz on topic Use plugins in tag-view
Hello:

I was trying to do the same: have SIG galleries in tag view.
I used Lifters code, but it's not working correctly for me.
Could you please post the full tag.php file? (I'm not comfortable with PHP and my edits go terribly wrong.)

Thank you.

Best regards,

Rui Braz

Please Log in or Create an account to join the conversation.

  • Ronny Van Der Borght
  • Ronny Van Der Borght's Avatar Topic Author
  • Offline
  • Senior Member
More
9 years 1 week ago #143438 by Ronny Van Der Borght
Replied by Ronny Van Der Borght on topic Use plugins in tag-view
Well infact that is my entier code. I never work with the default K2 templates, i always start from scratch and use only the components i need and put them in overrides.
You can send me your tag.php, i don't mind looking at it.

Please Log in or Create an account to join the conversation.

More
9 years 1 week ago #143460 by Rui Braz
Replied by Rui Braz on topic Use plugins in tag-view
Eureka!

After a ton of copy&pasting, a ton of trials&erros, I managed to get a working tag.php!

I'm posting it to help others with the same issue:
<?php
/**
 * @version		2.6.x
 * @package		K2
 * @author		JoomlaWorks https://www.joomlaworks.net
 * @copyright	Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved.
 * @license		GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<!-- Start K2 Tag Layout -->
<div id="k2Container" class="tagView<?php if($this->params->get('pageclass_sfx')) echo ' '.$this->params->get('pageclass_sfx'); ?>">

	<?php if($this->params->get('show_page_title')): ?>
	<!-- Page title -->
	<div class="componentheading<?php echo $this->params->get('pageclass_sfx')?>">
		<?php echo $this->escape($this->params->get('page_title')); ?>
	</div>
	<?php endif; ?>

	<?php if($this->params->get('tagFeedIcon',1)): ?>
	<!-- RSS feed icon -->
	<div class="k2FeedIcon">
		<a href="<?php echo $this->feed; ?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?>">
			<span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?></span>
		</a>
		<div class="clr"></div>
	</div>
	<?php endif; ?>


			<?php if(count($this->items)): ?>
				<?php echo $item->introtext; ?>
				<?php 
				$dispatcher = JDispatcher::getInstance();
				JPluginHelper::importPlugin('content');
				$params = JComponentHelper::getParams('com_k2');
				?>
			

			
			
	<div class="tagItemList">
	<?php foreach($this->items as $item): ?>
					<?php if ($item->gallery)
						{
							if (JString::strpos($item->gallery, 'flickr.com') === false)
							{
								$item->gallery = "{gallery}{$item->id}{/gallery}";
							}
							$params->set('galleries_rootfolder', 'media/k2/galleries');
							$item->text = $item->gallery;
							$dispatcher->trigger('onContentPrepare', array(
									'com_k2.itemlist',
									&$item,
									&$params,
									$limitstart
								));
							
							$item->gallery = $item->text;
						} ?>
					<?php echo $item->gallery; ?>
					<?php if ($item->video)
						{
							$item->gallery = "{youtube}{$item->id}{/youtube}";
							$item->text = $item->video;
							$dispatcher->trigger('onContentPrepare', array(
									'com_k2.itemlist',
									&$item,
									&$params,
									$limitstart
								));
							$item->video = $item->text;
						} ?>
				<?php echo $item->video; ?>

		<!-- Start K2 Item Layout -->
		<div class="tagItemView">

			<div class="tagItemHeader">
				<?php if($item->params->get('tagItemDateCreated',1)): ?>
				<!-- Date created -->
				<span class="tagItemDateCreated">
					<?php echo JHTML::_('date', $item->created , JText::_('K2_DATE_FORMAT_LC2')); ?>
				</span>
				<?php endif; ?>
			
			  <?php if($item->params->get('tagItemTitle',1)): ?>
			  <!-- Item title -->
			  <h2 class="tagItemTitle">
			  	<?php if ($item->params->get('tagItemTitleLinked',1)): ?>
					<a href="<?php echo $item->link; ?>">
			  		<?php echo $item->title; ?>
			  	</a>
			  	<?php else: ?>
			  	<?php echo $item->title; ?>
			  	<?php endif; ?>
			  </h2>
			  <?php endif; ?>
		  </div>

		  <div class="tagItemBody">
			  <?php if($item->params->get('tagItemImage',1) && !empty($item->imageGeneric)): ?>
			  <!-- Item Image -->
			  <div class="tagItemImageBlock">
				  <span class="tagItemImage">
				    <a href="<?php echo $item->link; ?>" title="<?php if(!empty($item->image_caption)) echo K2HelperUtilities::cleanHtml($item->image_caption); else echo K2HelperUtilities::cleanHtml($item->title); ?>">
				    	<img src="<?php echo $item->imageGeneric; ?>" alt="<?php if(!empty($item->image_caption)) echo K2HelperUtilities::cleanHtml($item->image_caption); else echo K2HelperUtilities::cleanHtml($item->title); ?>" style="width:<?php echo $item->params->get('itemImageGeneric'); ?>px; height:auto;" />
				    </a>
				  </span>
				  <div class="clr"></div>
			  </div>
			  <?php endif; ?>
			  
			  <?php if($item->params->get('tagItemIntroText',1)): ?>
			  <!-- Item introtext -->
			  <div class="tagItemIntroText">
			  	<?php echo $item->introtext; ?>
			  </div>
			  <?php endif; ?>

			  <div class="clr"></div>
		  </div>
		  
		  <div class="clr"></div>
		  
		  <?php if($item->params->get('tagItemExtraFields',0) && count($item->extra_fields)): ?>
		  <!-- Item extra fields -->  
		  <div class="tagItemExtraFields">
		  	<h4><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h4>
		  	<ul>
				<?php foreach ($item->extra_fields as $key=>$extraField): ?>
				<?php if($extraField->value != ''): ?>
				<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
					<?php if($extraField->type == 'header'): ?>
					<h4 class="tagItemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
					<?php else: ?>
					<span class="tagItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>
					<span class="tagItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
					<?php endif; ?>		
				</li>
				<?php endif; ?>
				<?php endforeach; ?>
				</ul>
		    <div class="clr"></div>
		  </div>
		  <?php endif; ?>
		  
			<?php if($item->params->get('tagItemCategory')): ?>
			<!-- Item category name -->
			<div class="tagItemCategory">
				<span><?php echo JText::_('K2_PUBLISHED_IN'); ?></span>
				<a href="<?php echo $item->category->link; ?>"><?php echo $item->category->name; ?></a>
			</div>
			<?php endif; ?>
			
			<?php if ($item->params->get('tagItemReadMore')): ?>
			<!-- Item "read more..." link -->
			<div class="tagItemReadMore">
				<a class="k2ReadMore" href="<?php echo $item->link; ?>">
					<?php echo JText::_('K2_READ_MORE'); ?>
				</a>
			</div>
			<?php endif; ?>

			<div class="clr"></div>
		</div>
		<!-- End K2 Item Layout -->
		
		<?php endforeach; ?>
	</div>

	<!-- Pagination -->
	<?php if($this->pagination->getPagesLinks()): ?>
	<div class="k2Pagination">
		<?php echo $this->pagination->getPagesLinks(); ?>
		<div class="clr"></div>
		<?php echo $this->pagination->getPagesCounter(); ?>
	</div>
	<?php endif; ?>

	<?php endif; ?>
	
</div>
<!-- End K2 Tag Layout -->

Thank you Ronny (and Krikor, in another thread)! Your code sent me in the correct path; I wouldn't have done it without you!

Please Log in or Create an account to join the conversation.


Powered by Kunena Forum