0

我正在尝试在一段 jQuery 代码中包含一些 PHP。

PHP 从 WordPress 中提取一个静态块,我需要一种方法将其添加到 jQuery 中。每次我将它添加到块中时,要么根本不显示,要么内容不显示。

获取 PHP 的代码是

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('cat_block')->toHtml() ?>

jQuery是

jQuery(document).ready(function () {
jQuery(".catalog-category-view .last li.item:nth-child(7)").after("<li class='category-block-call'>PHP NEEDS TO GO HERE</li>");
});

如您所见,我需要li在 jQuery 中的标签之间获取 PHP 代码或 PHP 代码的内容。

4

5 回答 5

1

您必须在服务器端执行 php。如果您想在不刷新页面的情况下获取该信息,您将不得不使用 ajax ($.ajax())。

于 2013-07-22T11:28:13.413 回答
1

我认为从 jquery 函数访问服务器端代码的唯一方法是进行 ajax 调用。

于 2013-07-22T11:30:06.393 回答
1

您不能使用 JQuery 插入 PHP 代码,因为 PHP 旨在在服务器上运行,而 JQuery 旨在在客户端上运行。您将不得不让服务器以某种方式运行该代码,然后您可以在任何您想放置它的地方使用结果。

您可以采用老式方法并为服务器上的 php 页面创建一个不可见的 iframe。您可以使用 JQuery 从那里提取内容并将它们放在适当的位置。

或者,您可以稍微重写一下,以便服务器发送 AJAX 响应。

于 2013-07-22T11:30:08.890 回答
0

如果您的文件能够解释 php 代码,那么下面的代码应该可以工作。

jQuery(document).ready(function () {
    jQuery(".catalog-category-view .last li.item:nth-child(7)").after("<li class='category-block-call'><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('cat_block')->toHtml() ?></li>");
});
于 2013-07-22T11:34:03.970 回答
-1

试试这个(Blow 代码需要在 PHP 文件中):

<script>
jQuery(document).ready(function() {
    jQuery(".catalog-category-view .last li.item:nth-child(7)").after("<li class='category-block-call'><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('cat_block')->toHtml(); ?></li>");
});
</script>
于 2013-07-22T11:28:46.800 回答