在echo(Joomla)中插入div + link +图像

时间:2012-08-09 12:48:45

标签: php html echo

我在这里遇到一些问题,我非常感谢你的帮助。

我正在尝试创建一种菜单,该菜单将在用户登录Joomla后显示(事实上joomla并不重要)。我为两个不同的用户提供了两种不同的输出。如果用户是用户A,他/她将看到输出A,如果是用户B,他/她将看到输出B.

我已经想出了如何做“看看谁是用户---给出输出”部分。而且它运作完美。问题是输出本身。我试图回应一个包含图像和文本的div,作为一个链接。但是,我得到的唯一输出是文本,没有任何格式。

这是代码:

<?php 

$user =& JFactory::getUser();
if ($user->id == 291) {

 echo <<<EOS

<div class="mitribu"><a href="index.php?option=com_content&amp;view=category&amp;layout=blog&amp;id=13"><img class="mitribuimg" src="images/banners/books.png" alt="books"/>Mi tribu</a></div>

EOS;

}

?>

如您所见,这应该呈现图像和文本Mi tribu,这应该是一个链接。但我唯一得到的就是纯文本中的Mi tribu。

我在这里做错了什么?

非常感谢你!

埃尔南。


编辑:我找到了答案。这是用于在Joomla,Sourcerer中的文章和模块中呈现PHP的插件,它正在剥离代码。万一其他人有同样的问题,这就是解决方案:

您必须使用{source 0} {/ source}添加代码。添加0表示插件不会删除HTML代码。

2 个答案:

答案 0 :(得分:0)

您是否尝试在Google Chrome中打开它?然后右键单击图像所在的位置(在文本上),然后从菜单中选择“检查元素”。 这将显示来自谷歌浏览器的调试工具,并允许您查看输出到浏览器的内容,并可能显示您的图像不可见的原因(错误的路径或类似的东西)。

答案 1 :(得分:0)

您可以在下面轻松地在PHP代码中执行HTML。而不是使用{}只使用冒号并输出下面的html。     

$user =& JFactory::getUser();
if ($user->id == 291):
?>

<div class="mitribu"><a href="index.php?option=com_content&amp;view=category&amp;layout=blog&amp;id=13"><img class="mitribuimg" src="images/banners/books.png" alt="books"/>Mi tribu</a></div>

<?php endif;?>

或者这样做,请确保在HTML中使用'因为您正在使用'。

<?php 

$user =& JFactory::getUser();
if ($user->id == 291) {



echo '<div class="mitribu"><a href="index.php?option=com_content&amp;view=category&amp;layout=blog&amp;id=13"><img class="mitribuimg" src="images/banners/books.png" alt="books"/>Mi tribu</a></div>'

}

?>