2011-02-01 68 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