好的,所以我一直在努力整合Yii(特别是Lightspeed webstore(On Github))和Wordpress。
我test.theoldhardwarestore.com在他drumaddict post的blog page指示后,{{3}}取得了重大进展。
但是当jquery卷入其中时我陷入了困境。 Lightspeed Webstore使用jquery-ui对话框进行登录。
在包含Yii内容的页面(如主页)上,效果很好。 但是在没有Yii内容的任何页面上(如{{3}}),它不会隐藏登录对话框,也不会在单击“登录”时弹出到中心屏幕。
看看源代码,显然Yii在对话框html之前添加了带有CData的javascript。在没有Yii内容的页面上,这不会发生。因为我还没有和Yii合作过多,所以我不知道在哪里添加它。
有什么想法吗?
谢谢
答案 0 :(得分:0)
这似乎不是最好的解决方案,但我确实让它发挥作用。这是我做的:
复制yii页面上生成的CData并将其放入wp函数中:
function add_login_dialog()
{
echo '<script type="text/javascript" src="/assets/a9725a95/jui/js/jquery-ui.min.js"></script>';
echo "CDATA goes here";
if (Yii::app()->user->isGuest)
{
Yii::app()->controller->beginWidget('zii.widgets.jui.CJuiDialog',array(
'id'=>'LoginForm',
'options'=>array(
'title'=>Yii::t('global','Login'),
'autoOpen'=>false,
'modal'=>'true',
'width'=>'350',
'height'=>'365',
'resizable'=>false,
'position'=>'center',
'draggable'=>false,
),
));
Yii::app()->controller->renderPartial('/site/_login',array('model'=>new LoginForm()));
Yii::app()->controller->endWidget('zii.widgets.jui.CJuiDialog');}
add_action('wp_footer','add_login_dialog', 100);
然后我还需要添加:
if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
echo '<link rel="stylesheet" type="text/css" href="/assets/1f0ab574/css/bootstrap.css">';
echo '<link rel="stylesheet" type="text/css" href="/assets/a9725a95/jui/css/base/jquery-ui.css">';
echo '<script type="text/javascript" src="/assets/a9725a95/jquery.min.js"></script>';
echo '<script type="text/javascript" src="/assets/a9725a95/jquery.yiiactiveform.js"></script>';
echo '<script type="text/javascript" src="/assets/1f0ab574/js/bootstrap.js"></script>';
}