如何在joomla 2.5自定义组件中添加电子邮件/打印

时间:2014-08-11 02:21:21

标签: php joomla joomla2.5

请告诉我如何在我的组件中添加电子邮件/打印图标(joomla 2.5)。

我能够部分完成它,但我不能打印加上这不是我猜的标准方式。缺少打印图标和电子邮件图标。

<a href="<?php echo JRoute::_('index.php?option=com_mailto&tmpl=component&&template=shape5_vertex&link=ffc8df4efb9cbf37a836ddfeb67f6d0df4155699'); ?>" title="Email" onclick="window.open(this.href,'win2','width=400,height=350,menubar=yes,resizable=yes'); return false;"><img src="/joomla/media/system/images/emailButton.png" alt="Email"  /></a>
<a href="<?php echo JRoute::_('index.php?option=com_mycomp&view=comps&tmpl=component&print=1'); ?>" title="Print" onclick="window.open(this.href,'win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'); return false;" rel="nofollow"><img src="/joomla/media/system/images/printButton.png" alt="Print"  /></a>      

2 个答案:

答案 0 :(得分:0)

这就是我所说的:

<?php $isModal = JRequest::getVar( 'print' ) == 1; // 'print=1' will only be present in the url of the modal window, not in the presentation of the page
    if( $isModal) {
            $href = '"#" onclick="window.print(); return false;"';
    } else {
            $href = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no';
            $href = "window.open(this.href,'win2','".$href."'); return false;";
            $href = '"index.php?option=com_mycomp&view=comps&tmpl=component&print=1&layout=default&page="'.@ $request->limitstart.'"'.$href;
    }?><a href="<?php echo $href; ?>"><img src="templates/shape5_vertex/images/system/printButton.png" alt="Print" /></a>

答案 1 :(得分:-2)

在最近的一个项目中,我成功使用了以下Joomla Docs教程来添加打印功能。

您必须像这样构建您的网址:

<?php
    $isModal = JRequest::getVar( 'print' ) == 1; // 'print=1' will only be present in the url of the modal window, not in the presentation of the page
    if( $isModal) {
            $href = '"#" onclick="window.print(); return false;"';
    } else {
            $href = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no';
            $href = "window.open(this.href,'win2','".$href."'); return false;";
            $href = '"index.php?option=mycomponent&view=myview&tmpl=component&print=1" '.$href;
    }
?>
    <a href=<?php echo $href; ?> >Click for Printing</a>

相同的代码将在视图和结果模式窗口中呈现链接,使用相同的Click for Printing,除非用户单击模态窗口中的按钮,否则将打开浏览器打印窗口。

您当然需要使用相关组件调整代码并查看项目信息。

http://docs.joomla.org/Adding_print_pop-up_functionality_to_a_component

*编辑*

请务必将以下行添加到视图文件的顶部:

JHtml::_('behavior.modal');

*编辑2 *

我查看了示例代码和一个来自我工作项目的代码,并注意到一个明显的省略。我没有为视图定义URL参数。我调整了上面的代码片段(在其他内部,第三个$ href变量)来反映变化。