103 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package     Joomla.Site
 | |
|  * @subpackage  Layout
 | |
|  *
 | |
|  * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 | |
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt
 | |
|  */
 | |
| 
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| use Joomla\CMS\Factory;
 | |
| use Joomla\CMS\HTML\HTMLHelper;
 | |
| use Joomla\CMS\Language\Text;
 | |
| use Joomla\CMS\Layout\LayoutHelper;
 | |
| 
 | |
| /**
 | |
|  * Note that this layout opens a div with the page class suffix. If you do not use the category children
 | |
|  * layout you need to close this div either by overriding this file or in your main layout.
 | |
|  */
 | |
| $params    = $displayData->params;
 | |
| $category  = $displayData->get('category');
 | |
| $extension = $category->extension;
 | |
| $canEdit   = $params->get('access-edit');
 | |
| $className = substr($extension, 4);
 | |
| $htag      = $params->get('show_page_heading') ? 'h2' : 'h1';
 | |
| 
 | |
| $app = Factory::getApplication();
 | |
| 
 | |
| $category->text = $category->description;
 | |
| $app->triggerEvent('onContentPrepare', [$extension . '.categories', &$category, &$params, 0]);
 | |
| $category->description = $category->text;
 | |
| 
 | |
| $results = $app->triggerEvent('onContentAfterTitle', [$extension . '.categories', &$category, &$params, 0]);
 | |
| $afterDisplayTitle = trim(implode("\n", $results));
 | |
| 
 | |
| $results = $app->triggerEvent('onContentBeforeDisplay', [$extension . '.categories', &$category, &$params, 0]);
 | |
| $beforeDisplayContent = trim(implode("\n", $results));
 | |
| 
 | |
| $results = $app->triggerEvent('onContentAfterDisplay', [$extension . '.categories', &$category, &$params, 0]);
 | |
| $afterDisplayContent = trim(implode("\n", $results));
 | |
| 
 | |
| /**
 | |
|  * This will work for the core components but not necessarily for other components
 | |
|  * that may have different pluralisation rules.
 | |
|  */
 | |
| if (substr($className, -1) === 's') {
 | |
|     $className = rtrim($className, 's');
 | |
| }
 | |
| 
 | |
| $tagsData = $category->tags->itemTags;
 | |
| ?>
 | |
| <div class="<?php echo $className . '-category' . $displayData->pageclass_sfx; ?>">
 | |
|     <?php if ($params->get('show_page_heading')) : ?>
 | |
|         <h1>
 | |
|             <?php echo $displayData->escape($params->get('page_heading')); ?>
 | |
|         </h1>
 | |
|     <?php endif; ?>
 | |
| 
 | |
|     <?php if ($params->get('show_category_title', 1)) : ?>
 | |
|         <<?php echo $htag; ?>>
 | |
|             <?php echo HTMLHelper::_('content.prepare', $category->title, '', $extension . '.category.title'); ?>
 | |
|         </<?php echo $htag; ?>>
 | |
|     <?php endif; ?>
 | |
|     <?php echo $afterDisplayTitle; ?>
 | |
| 
 | |
|     <?php if ($params->get('show_cat_tags', 1)) : ?>
 | |
|         <?php echo LayoutHelper::render('joomla.content.tags', $tagsData); ?>
 | |
|     <?php endif; ?>
 | |
| 
 | |
|     <?php if ($beforeDisplayContent || $afterDisplayContent || $params->get('show_description', 1) || $params->def('show_description_image', 1)) : ?>
 | |
|         <div class="category-desc">
 | |
|             <?php if ($params->get('show_description_image') && $category->getParams()->get('image')) : ?>
 | |
|                     <?php echo LayoutHelper::render(
 | |
|                         'joomla.html.image',
 | |
|                         [
 | |
|                             'src' => $category->getParams()->get('image'),
 | |
|                             'alt' => empty($category->getParams()->get('image_alt')) && empty($category->getParams()->get('image_alt_empty')) ? false : $category->getParams()->get('image_alt'),
 | |
|                         ]
 | |
|                     ); ?>
 | |
|             <?php endif; ?>
 | |
|             <?php echo $beforeDisplayContent; ?>
 | |
|             <?php if ($params->get('show_description') && $category->description) : ?>
 | |
|                 <?php echo HTMLHelper::_('content.prepare', $category->description, '', $extension . '.category.description'); ?>
 | |
|             <?php endif; ?>
 | |
|             <?php echo $afterDisplayContent; ?>
 | |
|         </div>
 | |
|     <?php endif; ?>
 | |
|     <?php echo $displayData->loadTemplate($displayData->subtemplatename); ?>
 | |
| 
 | |
|     <?php if ($displayData->maxLevel != 0 && $displayData->get('children')) : ?>
 | |
|         <div class="cat-children">
 | |
|             <?php if ($params->get('show_category_heading_title_text', 1) == 1) : ?>
 | |
|                 <h3>
 | |
|                     <?php echo Text::_('JGLOBAL_SUBCATEGORIES'); ?>
 | |
|                 </h3>
 | |
|             <?php endif; ?>
 | |
|             <?php echo $displayData->loadTemplate('children'); ?>
 | |
|         </div>
 | |
|     <?php endif; ?>
 | |
| </div>
 |