32
1
mirror of https://github.com/joomla-extensions/weblinks.git synced 2024-12-27 18:24:56 +00:00

Layout Weblinks Category - first attempt

This commit is contained in:
chmst 2021-07-26 21:14:51 +02:00
parent 5dc2bfb818
commit 43145030c7
2 changed files with 188 additions and 161 deletions

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<metadata> <metadata>
<layout title="com_weblinks_category_view_default_title" option="com_weblinks_category_view_default_option"> <layout title="COM_WEBLINKS_CATEGORY_VIEW_DEFAULT_TITLE" option="com_weblinks_category_view_default_option">
<help <help
key="JHELP_MENUS_MENU_ITEM_WEBLINK_CATEGORY" key="JHELP_MENUS_MENU_ITEM_WEBLINK_CATEGORY"
/> />
<message> <message>
<![CDATA[com_weblinks_category_view_default_desc]]> <![CDATA[COM_WEBLINKS_CATEGORY_VIEW_DEFAULT_DESC]]>
</message> </message>
</layout> </layout>

View File

@ -13,9 +13,10 @@ use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\FileLayout; use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Uri\Uri; use Joomla\CMS\Uri\Uri;
// HTMLHelper::_('behavior.framework'); HTMLHelper::_('behavior.core');
// Create a shortcut for params. // Create a shortcut for params.
$params = &$this->category->params; $params = &$this->category->params;
@ -36,57 +37,71 @@ $listDirn = $this->escape($this->state->get('list.direction'));
<?php if (empty($this->items)) : ?> <?php if (empty($this->items)) : ?>
<p> <?php echo Text::_('COM_WEBLINKS_NO_WEBLINKS'); ?></p> <p> <?php echo Text::_('COM_WEBLINKS_NO_WEBLINKS'); ?></p>
<?php else : ?> <?php else : ?>
<div class="com-weblinks-category__items">
<form action="<?php echo htmlspecialchars(Uri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm"> <form action="<?php echo htmlspecialchars(Uri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm">
<?php if ($this->params->get('filter_field') != 'hide' || $this->params->get('show_pagination_limit')) : ?> <?php if ($this->params->get('filter_field')) : ?>
<fieldset class="filters btn-toolbar"> <div class="com-weblinks-category__filter btn-group">
<?php if ($this->params->get('filter_field') != 'hide') : ?> <label class="filter-search-lbl visually-hidden" for="filter-search">
<div class="btn-group"> <?php echo Text::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>
<label class="filter-search-lbl element-invisible" for="filter-search"><?php echo Text::_('COM_WEBLINKS_FILTER_LABEL') . '&#160;'; ?></label> </label>
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo Text::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>" placeholder="<?php echo Text::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>" /> <input
type="text"
name="filter-search"
id="filter-search"
value="<?php echo $this->escape($this->state->get('list.filter')); ?>"
class="inputbox" onchange="document.adminForm.submit();"
placeholder="<?php echo Text::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>"
>
<button type="submit" name="filter_submit" class="btn btn-primary"><?php echo Text::_('JGLOBAL_FILTER_BUTTON'); ?></button>
<button type="reset" name="filter-clear-button" class="btn btn-secondary"><?php echo Text::_('JSEARCH_FILTER_CLEAR'); ?></button>
</div> </div>
<?php endif; ?> <?php endif; ?>
<?php if ($this->params->get('show_pagination_limit')) : ?> <?php if ($this->params->get('show_pagination_limit')) : ?>
<div class="btn-group pull-right"> <div class="com-weblinks-category__pagination btn-group float-end">
<label for="limit" class="element-invisible"> <label for="limit" class="visually-hidden">
<?php echo Text::_('JGLOBAL_DISPLAY_NUM'); ?> <?php echo Text::_('JGLOBAL_DISPLAY_NUM'); ?>
</label> </label>
<?php echo $this->pagination->getLimitBox(); ?> <?php echo $this->pagination->getLimitBox(); ?>
</div> </div>
<?php endif; ?> <?php endif; ?>
</fieldset>
<?php endif; ?> <ul class="category list-group list-unstyled">
<ul class="category list-striped list-condensed">
<?php foreach ($this->items as $i => $item) : ?> <?php foreach ($this->items as $i => $item) : ?>
<?php if (in_array($item->access, $this->user->getAuthorisedViewLevels())) : ?>
<?php if ($this->items[$i]->state == 0) : ?> <?php // Shouldn't this be checked in the model?The pagination will be affected
<li class="system-unpublished cat-list-row<?php echo $i % 2; ?>"> if (in_array($item->access, $this->user->getAuthorisedViewLevels())) : ?>
<?php
// Shouldn't this be only for users with admin rights?
if ($item->state == 0) : ?>
<li class="system-unpublished list-group-item">
<?php else : ?> <?php else : ?>
<li class="cat-list-row<?php echo $i % 2; ?>" > <li class="list-group-item" >
<?php endif; ?> <?php endif; ?>
<?php if ($this->params->get('show_link_hits', 1)) : ?> <?php if ($this->params->get('show_link_hits', 1)) : ?>
<span class="list-hits badge badge-info pull-right"> <span class="list-hits badge badge-info float-end">
<?php echo Text::sprintf('JGLOBAL_HITS_COUNT', $item->hits); ?> <?php echo Text::sprintf('JGLOBAL_HITS_COUNT', $item->hits); ?>
</span> </span>
<?php endif; ?> <?php endif; ?>
<?php if ($canEdit) : ?> <?php if ($canEdit) : ?>
<span class="list-edit pull-left width-50"> <?php echo LayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $item)); ?>
<?php echo HTMLHelper::_('weblinkicon.edit', $item, $params); ?>
</span>
<?php endif; ?> <?php endif; ?>
<div class="list-title"> <div class="list-title">
<?php if ($this->params->get('icons', 1) == 0) : ?> <?php if (!$this->params->get('icons', 1)) : ?>
<?php echo Text::_('COM_WEBLINKS_LINK'); ?> <?php echo Text::_('COM_WEBLINKS_LINK'); ?>
<?php elseif ($this->params->get('icons', 1) == 1) : ?> <?php else : ?>
<?php // ToDo css icons as variables ?>
<?php if (!$this->params->get('link_icons')) : ?> <?php if (!$this->params->get('link_icons')) : ?>
<?php echo HTMLHelper::_('image', 'system/weblink.png', Text::_('COM_WEBLINKS_LINK'), null, true); ?> <span class="icon-globe" aria-hidden="true"></span>
<?php else: ?> <?php else: ?>
<?php echo '<img src="' . $this->params->get('link_icons') . '" alt="' . Text::_('COM_WEBLINKS_LINK') . '" />'; ?> <?php echo '<img src="' . $this->params->get('link_icons') . '" alt="' . Text::_('COM_WEBLINKS_LINK') . '" />'; ?>
<?php endif; ?> <?php endif; ?>
<?php endif; ?> <?php endif; ?>
<?php // Compute the correct link ?> <?php // Compute the correct link ?>
<?php $menuclass = 'category' . $this->pageclass_sfx; ?> <?php $menuclass = 'category' . $this->pageclass_sfx; ?>
<?php $link = $item->link; ?> <?php $link = $item->link; ?>
@ -96,7 +111,8 @@ $listDirn = $this->escape($this->state->get('list.direction'));
<?php $width = 600; ?> <?php $width = 600; ?>
<?php $height = 500; ?> <?php $height = 500; ?>
<?php endif; ?> <?php endif; ?>
<?php if ($this->items[$i]->state == 0) : ?>
<?php if ($item->state == 0) : ?>
<span class="label label-warning"><?php echo Text::_('JUNPUBLISHED'); ?></span> <span class="label label-warning"><?php echo Text::_('JUNPUBLISHED'); ?></span>
<?php endif; ?> <?php endif; ?>
@ -130,33 +146,42 @@ $listDirn = $this->escape($this->state->get('list.direction'));
} }
?> ?>
</div> </div>
<?php $tagsData = $item->tags->getItemTags('com_weblinks.weblink', $item->id); ?>
<?php if ($this->params->get('show_tags', 1)) : ?> <?php if ($this->params->get('show_tags', 1)) : ?>
<?php $tagsData = $item->tags->getItemTags('com_weblinks.weblink', $item->id); ?>
<?php $this->category->tagLayout = new FileLayout('joomla.content.tags'); ?> <?php $this->category->tagLayout = new FileLayout('joomla.content.tags'); ?>
<?php echo $this->category->tagLayout->render($tagsData); ?> <?php echo $this->category->tagLayout->render($tagsData); ?>
<?php endif; ?> <?php endif; ?>
<?php if (($this->params->get('show_link_description')) and ($item->description != '')) : ?>
<?php if (($this->params->get('show_link_description')) && ($item->description != '')) : ?>
<?php $images = json_decode($item->images); ?> <?php $images = json_decode($item->images); ?>
<?php if (isset($images->image_first) and !empty($images->image_first)) : ?> <?php if (isset($images->image_first) and !empty($images->image_first)) : ?>
<?php $imgfloat = (empty($images->float_first)) ? $this->params->get('float_first') : $images->float_first; ?> <?php $imgfloat = (empty($images->float_first)) ? $this->params->get('float_first') : $images->float_first; ?>
<div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image"> <img <div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image">
<img
<?php if ($images->image_first_caption) : ?> <?php if ($images->image_first_caption) : ?>
<?php echo 'class="caption" title="' . htmlspecialchars($images->image_first_caption) . '"'; ?> <?php echo 'class="caption" title="' . htmlspecialchars($images->image_first_caption) . '"'; ?>
<?php endif; ?> <?php endif; ?>
src="<?php echo htmlspecialchars($images->image_first); ?>" alt="<?php echo htmlspecialchars($images->image_first_alt); ?>"/> </div> src="<?php echo htmlspecialchars($images->image_first); ?>"
alt="<?php echo htmlspecialchars($images->image_first_alt); ?>"/>
</div>
<?php endif; ?> <?php endif; ?>
<?php if (isset($images->image_second) and !empty($images->image_second)) : ?> <?php if (isset($images->image_second) and !empty($images->image_second)) : ?>
<?php $imgfloat = (empty($images->float_second)) ? $this->params->get('float_second') : $images->float_second; ?> <?php $imgfloat = (empty($images->float_second)) ? $this->params->get('float_second') : $images->float_second; ?>
<div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image"> <img <div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image">
<img
<?php if ($images->image_second_caption) : ?> <?php if ($images->image_second_caption) : ?>
<?php echo 'class="caption" title="' . htmlspecialchars($images->image_second_caption) . '"'; ?> <?php echo 'class="caption" title="' . htmlspecialchars($images->image_second_caption) . '"'; ?>
<?php endif; ?> <?php endif; ?>
src="<?php echo htmlspecialchars($images->image_second); ?>" alt="<?php echo htmlspecialchars($images->image_second_alt); ?>"/> </div> src="<?php echo htmlspecialchars($images->image_second); ?>"
alt="<?php echo htmlspecialchars($images->image_second_alt); ?>"/> </div>
<?php endif; ?> <?php endif; ?>
<?php echo $item->description; ?> <?php echo $item->description; ?>
<?php endif; ?> <?php endif; ?>
</li> </li>
<?php endif;?> <?php endif; ?>
<?php endforeach; ?> <?php endforeach; ?>
</ul> </ul>
@ -172,4 +197,6 @@ $listDirn = $this->escape($this->state->get('list.direction'));
</div> </div>
<?php endif; ?> <?php endif; ?>
</form> </form>
</div>
<?php endif; ?> <?php endif; ?>