2011-02-01 67 views
0

那么,我here's:AJAX导航 - 故障与永久链接

我编程,这类似于有很多的东西就可以了,可拖动的用户,移动等元素一张桌子blogtheme。博客的主要部分放置在一本书中,您可以使用页面标记和翻页来浏览这些类别。

为了给用户提供他/她实际上是用一本“书”的印象,我在首位使用复杂的结构(关注大多是pagemarkers的地方):

  1. 每个类别使用自己的范本(类别的4.php,品类5.php等)
  2. 的single.php中导致类敏感的模板(6类产品总数)

当我完成我发现有太多由于每次点击重新加载图形元素导致很多流量该页面非常慢。所以我想到了一个AJAX解决方案,并最终使用了ezjax解决方案(http://www.fluidbyte.net/index.php?view=simple-ajax-content-changer-with-ezjax),它基本上是一个脚本,让所有在index.php中的特定div中加载某个类的hrefs。当链接的内容被加载到div中时,我在其他模板文件中保存交互式背景的代码(这种方式是通信量),这就是通信量。

您可以查看正在运行的页面here并查看导航是如何工作的。

基本上that's正是我想要的,但还是引起了一些麻烦:

  1. 为单柱,类别,如的模板文件不包含你不能真正使用永久链接的背景。你可以做到这一点,但它看起来像一半的页面(http://www.palimpsest.eu/2011/02/01/differenzierung/)。访问者对内容的“正常”看法显然很重要。

  2. 出于某种原因,某些插件需要与帖子的ID(比如Sexybookmarks或Flattr)联系在一起无效。我猜想原因是与1问题有关。

现在,这里是我的方法,我想问问你,你认为最好的其中一个拿(或可能提供有关其他方法来解决这个问题一些启示):

  1. 曹景伟single.php询问您是内嵌浏览还是来自外部网站,然后导入两个不同的模板(包含所有图形内容的简短模板)。在这种情况下,我不知道如何让single.php实现你将来到的地方。

  2. 我想过使用AJAX Wordpress,但我不确定它是否会适合我的需求。我也没有看到关于导航模块的很多文档。

  3. 任何其他方式不能刷新已经在临时Internet文件中的内容。

我非常感谢能得到有关如何解决这个问题的建议。

最好的问候, 拉拉

回答

3

欢迎SO。我不知道我是否明白自己想要做什么,但以下是WP中仅针对内容的AJAX请求的常见困境: 您想要链接,点击时像平常一样加载页面。但你也想使用相同的链接通过AJAX加载相同的页面,然后你不希望布局也加载。

假设这是你的问题的核心,这里就是我如何处理这个问题通常是:

// functions.php 
function is_ajax_request() { 
    return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && 
      strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); 
} 


// e.g. in index.php or any other template file: 
<?php if (!is_ajax_request()) { get_header(); } ?> 

// ... Rest of your template ... 

<?php if (!is_ajax_request()) { get_footer(); } ?> 

这样才如果通过AJAX所请求的模板文件内容被加载,否则页面加载刚照常。

让我知道这是否可以帮助你,或者以其他方式解释你所追求的东西。 我注意到,这里的人回避了太久的问题。所以 - 越短越好;)

+0

Hey Polarblau, 感谢您的回答。所以如果我得到的代码正确,我会把两个代码到我的模板:一个案例1(AJAX:<?php if(!is_ajax_request()){}?>)和一个案例2(正常链接:<?php else {}>)? – Lara 2011-02-02 08:27:17