我尝试在ssbits中使用本教程http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-2-using-model-admin-and-url-segments-to-create-a-product-catalogue/作为我的新闻部分。
我想我做的一切都是正确的。但我无法保存NewsObject。出现此错误
请注意/mysite/code/DataObjects/NewsObject.php
的第155行
第155行是
$this->URLSegment = SiteTree::generateURLSegment($this->Title);
但这里有什么不对?
这是我的整个代码。也许有人可以帮我解决这个问题。
NewsObject:http://www.sspaste.com/paste/show/5278c59fd7904
NewsCategory:http://www.sspaste.com/paste/show/5268d844c9ee2
答案 0 :(得分:1)
这就是DataObjects-as-Pages模块的用法:
$this->URLSegment = $this->generateURLSegment($this->Title);
这在同一个类中使用自定义函数:
public function generateURLSegment($title)
{
$filter = URLSegmentFilter::create();
$t = $filter->filter($title);
// Fallback to generic page name if path is empty (= no valid, convertable characters)
if(!$t || $t == '-' || $t == '-1') $t = "page-$this->ID";
// Hook for extensions
$this->extend('updateURLSegment', $t, $title);
return $t;
}