2016-08-13 67 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

你有没有设置控制器和动作该静态路由?

相关问题