2012-12-12 64 views
0

我已经整合了DomPDF和我正在使用的Joomla网站。我遵循Creating PDF Views这篇文章来实现这一点,生成PDF的效果很好,除了单击链接并从用户注销的组件生成PDF时。我正在使用Joomla 2.5 & DomPDF 0.6.0 beta 3,PDF的内容是从一个自定义组件生成的,但现在它只是平面的HTML,并遵循文章中用于生成视图的说明。我看过代码,但似乎无法看到问题出在哪里。任何帮助是极大的赞赏。当用DomPDF和Joomla 2.5生成PDF时用户被注销

编辑:如果在登录时勾选“记住我”,用户不会注销。也没有提到我使用数据库作为会话的设置。

+0

最有可能的用户会话destroyed.Check组件随时随地其结算用户对象或会话。 –

+0

感谢您的回复。我不知道会发生什么。 PDF视图是HTML视图的副本,这不会发生在其他任何地方。我知道我没有明确地清除用户对象或会话。你能给我一个你的意思吗? –

回答

1

检查是否清除用户对象的自定义组件。

任何地方session_destroy()unset($user)或任何其他工厂调用来重置用户对象。如果你找不到这样的语句,那么确保PDF创建的问题。

在任何情况下,你不能得到解决方案,然后试试这个。

在创建PDF部分之前,当前记录的用户对象ID设置为Cookie,您提到它没有清除记住我的选项。

$user = &JFactory::getUser(); 
echo $user->id //current logged user id. 

和过程PDF再次把它放回到用户对象。

$user = &JFactory::getUser($user_id);//from cookie. 

这不是一个完美的解决方案,但您的问题将解决。

希望这将有助于..

+0

感谢您的回复,它让我开始四处查看用户会话被破坏的原因。当网站使用https时,我发现到PDF的链接是http。在某些时候,我在网址中硬编码了http,只要我改变了它没有问题的工作。 –

+1

joomla永远不会硬编码网站的网址,你会得到完整的网站使用JURI :: root()的网址。祝你好运.. –