1

我寻求一种使用 jquery 调用 php 文件的简单方法。

最终结果与我正在开发的 Magento 网站有关: http ://bouquetsco.com/flowersplants.html ^^This page

此页面显示产品:连续 3 个。

    <?php $this->setColumnCount(3); ?>
    <?php $this->setColumnCount(2); ?>

^^此 php 代码手动设置产品列数。

默认情况下,页面显示为 3 宽,在浏览器窗口重新缩小到平板电脑宽度(760 像素左右)之前,它看起来很好。当网站的设计是平板电脑大小(760px 左右)时,我想只显示两列产品。

为此,似乎必须使用 javascript 来确定窗口宽度,然后根据浏览器窗口宽度运行一些 php 代码......比如

这个...

    if ( browser-window-widith > 760) { get '3-column.php' }
    else { get '2-column.php' }

这过于简单化了。这个代码逻辑会是什么样子?如何编写此功能?

此外,可以将初始 if 语句更改为:

    if (browser-window-width < 760) { get '2-column.php' }
    else { get '3-column.php' }

=====================================

将存在两个 .php 文件(2-column.php 和 3-column.php)每个包含:

    <?php $this->setColumnCount(2); ?>

或者

    <?php $this->setColumnCount(3); ?>

该代码将根据浏览器窗口宽度(由 javascript 找到)调用一个文件或另一个文件,从而导致

用于显示 > 760px 的 3 列产品列表

用于显示 < 760px 的 2 列产品列表

4

2 回答 2

1

我在我网站的登录页面上使用它:

if(!isset($_GET['width']))
    {
        echo '<script type="text/javascript">window.location = "' . $_SERVER['PHP_SELF'] . '?width="+screen.width+"&height="+screen.height;</script>';
    }
    else
        {
            $_SESSION['screen_width'] = $_GET['width'];
            $_SESSION['screen_height'] = $_GET['height'];
        }

现在宽度和高度都保存到当前会话中,我可以在显示页面划分之前进行条件检查。

if($_SESSION['screen_width']>= '1400')
   {
      $this->setColumnCount(3);
   }
   else
       {
          $this->setColumnCount(2);
       }
于 2013-01-03T23:00:52.280 回答
0

您可以使用 jquery 宽度和一些 ajax 调用。

索引.php

<html>
....
<div id="somedivport"></div>
<--! if that script is used the above div will load differently depending on the width-->
</html>

脚本.js

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
    //or use this$(document).width(); 
    $("#somedivport").load(width>$(window).width()?"/3-column.php":"/2-column.php");
});
</script>

编辑以减少 kloc

于 2013-01-03T22:48:37.863 回答