2016-08-13 88 views
0

我看着較舊的歸檔Pimcore論壇(主題2065),它有一個非常接近的問題,並嘗試了我在那裏找到的答案,但仍然沒有成功。儘管我所有的研究都是針對我的問題,但我無法回答。使用關鍵參數,而不是Id與Pimcore靜態路由

我在Pimcore下創建了一個網站,它使用與Pimcore演示相同的靜態路由方法,這意味着所有文章最終都會以_b12這樣的id號碼結束。 Google似乎並不想索引所有這些網頁。使用「關鍵」參數(這在我的情況中是唯一的)顯然是一個更好的主意。如有必要,我甚至可以添加年份和日期。

我已經嘗試了很多很多不同的場景,以確保我完全理解靜態路由的工作方式。

我有一個我創建的演示網站。第一個「頁」顯示文章Pimcore的方式做,最後一個是我想什麼:

我的頁面似乎已成功加載了我想要的網址:

http://btfdemo.balsatic.com/blog-entries/article-premier-objet. 

在我的博客索引文件:

$detailLink = $this->url([ 
        "key" => $article->getKey() 
        ], "blogroutetest", true); 

在我的控制器(詳細動作):

$article = Object_BlogArticle::getByPath("/blog-entries/" . $this->getParam("key")); 

我對blogroutetest靜態路由:

@^/blog-entries/(.*)@ reverse : /blog-entries/%key variable key 

請讓我知道爲什麼我仍然無法訪問的文章?

另外,我注意到當我改變pimcore admin中的靜態路由時,它不會修改var/config目錄中的文件static routes.php。當我手動修改文件時,靜態路由在管理員中得到糾正......我在那裏有讀/寫問題還是這是正常的?

感謝

+0

您的詳細行動甚至被稱爲?嘗試在其中添加死亡語句或斷點以查看是否被調用。你可能還有其他一些類似的靜態路由,它們在Pimcore甚至使用「blogroutetest」路由之前可能會匹配嗎? –

+0

謝謝伊戈爾。我會試試這個。我希望我可以在Pimcore中使用調試器,但是我從來沒有找到像在C或Java中那樣一步步完成的好方法......我將不得不深入研究這個調試器問題。在此之前,我通過創建一個鏈接/ _n%id/key來部分解決我的問題,這種類型的響應是我想做的事情......但並不是最優的... – Maggie

+0

你好,Igor。我試過你的建議。正如我們可以預測的那樣,細節行爲甚至不是確實稱爲。被稱爲,路線將不得不承認和確定...但問題必須來自其他東西... – Maggie

回答

0

@^/blog-entries/(.*)@ reverse : /blog-entries/%key variable key

你有沒有設置控制器和動作該靜態路由?