Php Joomla如何使分类链接起作用
我在mytemplate/html/com_content/featured/default.php中有以下代码Php Joomla如何使分类链接起作用,php,joomla,content-management-system,joomla2.5,Php,Joomla,Content Management System,Joomla2.5,我在mytemplate/html/com_content/featured/default.php中有以下代码 <?php if (!empty($this->lead_items)) : ?> <div class="<?php echo $this->pageclass_sfx;?>"> <div class="block-head"> <h2><?php echo $this->e
<?php if (!empty($this->lead_items)) : ?>
<div class="<?php echo $this->pageclass_sfx;?>">
<div class="block-head">
<h2><?php echo $this->escape($this->params->get('page_heading')); ?></h2>
<a href="<?php echo JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)); ?>" class="more">all news</a>
</div><!-- .block-head -->
<?php foreach ($this->lead_items as &$item) : ?>
<dl>
<dt>
<?php
$params = JComponentHelper::getParams( 'com_content' );
$this->item = &$item;
$images = json_decode($item->images);
?>
<?php if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
<?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
<img <?php if ($images->image_intro_caption):
echo 'class="caption"'.' title="' .htmlspecialchars($images->image_intro_caption) .'"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>
</a>
<?php endif; ?>
</dt>
<dd>
<var class="date"><?php echo JHtml::_('date', $this->item->publish_up, JText::_('DATE_FORMAT_LC')); ?></var>
<h3><a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="<?php if($this->params->get('page_heading') == 'projects'){echo 'more';}; ?>"><?php echo $this->item->title; ?></a></h3>
<?php echo $this->item->introtext; ?>
<div class="news-link clearfix">
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="more"><?php echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE'); ?></a>
<div class="line"></div>
</div>
</dd>
<?php
$leadingcount++;
?>
</dl>
<?php endforeach; ?>
我唯一能做的就是这样:
<div class="block-head">
<h2><?php echo $this->escape($this->params->get('page_heading')); ?></h2>
<?php foreach ($this->lead_items as &$item) :
$this->item = &$item;
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catid, $this->item->catid)).'">all news</a>';
endforeach; ?>
</div><!-- .block-head -->
它必须包含在foreach
语句中,并包含$this->item=&$item代码>在它前面。完成解决方案
<div class="block-head">
<h2><?php echo $this->escape($this->params->get('page_heading')); ?></h2>
<?php foreach ($this->lead_items as &$item) :
$this->item = &$item;
$title = $this->escape($this->item->category_title);
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catid, $this->item->catid)).'" class="more">all '.$title.'</a>';
break;
endforeach; ?>
</div>
<?php foreach ($this->lead_items as &$item) : ?>
<dl>
<dt>
<?php
$params = JComponentHelper::getParams( 'com_content' );
$this->item = &$item;
$images = json_decode($item->images);
?>
<?php if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
<?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
<img <?php if ($images->image_intro_caption):
echo 'class="caption"'.' title="' .htmlspecialchars($images->image_intro_caption) .'"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>
</a>
<?php endif; ?>
</dt>
<dd>
<var class="date"><?php echo JHtml::_('date', $this->item->publish_up, JText::_('DATE_FORMAT_LC')); ?></var>
<h3><a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="<?php if($this->params->get('page_heading') == 'projects'){echo 'more';}; ?>"><?php echo $this->item->title; ?></a></h3>
<?php echo $this->item->introtext; ?>
<div class="news-link clearfix">
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="more"><?php echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE'); ?></a>
<div class="line"></div>
</div>
</dd>
<?php
$leadingcount++;
?>
</dl>
<?php endforeach; ?>
问题是只需要一个链接。在这种情况下,您不能使用如下方式添加链接:
。如果只需要一个链接,那么就不需要使用ContentHelperRoute
之类的东西。谢谢你的帮助。和往常一样,这是个好答案。我做到了,增加了休息;完整的代码在我的帖子里
<div class="block-head">
<h2><?php echo $this->escape($this->params->get('page_heading')); ?></h2>
<?php foreach ($this->lead_items as &$item) :
$this->item = &$item;
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catid, $this->item->catid)).'">all news</a>';
endforeach; ?>
</div><!-- .block-head -->
<div class="block-head">
<h2><?php echo $this->escape($this->params->get('page_heading')); ?></h2>
<?php foreach ($this->lead_items as &$item) :
$this->item = &$item;
$title = $this->escape($this->item->category_title);
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catid, $this->item->catid)).'" class="more">all '.$title.'</a>';
break;
endforeach; ?>
</div>
<?php foreach ($this->lead_items as &$item) : ?>
<dl>
<dt>
<?php
$params = JComponentHelper::getParams( 'com_content' );
$this->item = &$item;
$images = json_decode($item->images);
?>
<?php if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
<?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
<img <?php if ($images->image_intro_caption):
echo 'class="caption"'.' title="' .htmlspecialchars($images->image_intro_caption) .'"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>
</a>
<?php endif; ?>
</dt>
<dd>
<var class="date"><?php echo JHtml::_('date', $this->item->publish_up, JText::_('DATE_FORMAT_LC')); ?></var>
<h3><a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="<?php if($this->params->get('page_heading') == 'projects'){echo 'more';}; ?>"><?php echo $this->item->title; ?></a></h3>
<?php echo $this->item->introtext; ?>
<div class="news-link clearfix">
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" class="more"><?php echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE'); ?></a>
<div class="line"></div>
</div>
</dd>
<?php
$leadingcount++;
?>
</dl>
<?php endforeach; ?>