主要问题: 交换机内部的回声输出是否与其自身不同?
-
我认为这不是什么太复杂,但它确实给我带来了一些麻烦!
从简单的事情开始,我能够像这样展示Joomla全文图像:
<img src="<?php echo htmlspecialchars($images->image_fulltext); ?>" />
然后,我想扩展它,并为图像添加一个灯箱,这变成了:
<a href="<?php echo htmlspecialchars($images->image_fulltext); ?>" data-lightbox="image">
<img src="<?php echo htmlspecialchars($images->image_fulltext); ?>" />
</a>
灯箱工作正常。
但是,我只希望这个灯箱适用于某些菜单ID(我有多种语言的新闻部分,因此只想在查看某些pageID时应用超链接)。
我决定做一个转换(很简单!)
<?php
$app = JFactory::getApplication();
$menuID = $app->getMenu()->getActive()->id;
switch ($menuID) {
case '168':
case '231':
echo
"<a href='".htmlspecialchars($images->image_fulltext)."' data-lightbox='image'>
<img src='".htmlspecialchars($images->image_fulltext)."' />
</a>";
break;
default:
echo
"<img src='".htmlspecialchars($images->image_fulltext)."' />";
break;
}
?>
问题是交换机正在改变src的输出。
开关外: /armouredshielding/images/news-events/website-screenshot.jpg
内部切换: images / news-events / website-screenshot.jpg
肯定这不是交换机的工作方式吗?它仍然使用echo命令,因此输出应该完全相同?非常感谢任何帮助!
答案 0 :(得分:0)
我更喜欢这样的东西:
$pagesToLight = array (168,231);
if(in_array($menuID, $pagesToLight)){
echo "<a href='".htmlspecialchars($images->image_fulltext)."' data-lightbox='image'>
<img src='".htmlspecialchars($images->image_fulltext)."' />
</a>";
} else {
echo "<img src='".htmlspecialchars($images->image_fulltext)."' />";
}