我試圖在我們的項目中將symfony cmf捆綁軟件從v1.0升級到v1.1。Symfony cmf v1.1升級
composer.json升級之前:
"doctrine/phpcr-odm": "1.1.0-RC1 as 1.0",
"doctrine/phpcr-bundle": "1.1.0-beta1 as 1.0",
"phpcr/phpcr-utils": "1.1.0 as 1.0",
"symfony-cmf/routing-auto-bundle": "1.0.*@alpha",
"symfony-cmf/menu-bundle": "1.0.*",
"symfony-cmf/block-bundle": "1.0.*",
"symfony-cmf/routing-bundle": "1.1.*",
"jackalope/jackalope-jackrabbit": "1.1.*",
"sonata-project/doctrine-phpcr-admin-bundle": "1.0.*",
composer.json升級後:
"doctrine/phpcr-bundle": "1.1.*",
"doctrine/phpcr-odm": "1.1.*",
"symfony-cmf/routing-auto-bundle": "1.0.*@alpha",
"symfony-cmf/routing-bundle": "1.2.0 as 1.1.0",
"symfony-cmf/core-bundle": "1.1.0 as 1.0.0",
"symfony-cmf/menu-bundle": "1.1.*",
"symfony-cmf/block-bundle": "1.1.*",
"jackalope/jackalope-jackrabbit": "1.1.*",
"sonata-project/doctrine-phpcr-admin-bundle": "1.1.*",
正如你可以看到我使用的作曲家在這兩個地方混疊爲了能夠使用symfony-cmf/routing-auto-bundle。這種別名方法是我能夠使用symfony-cmf/routing-auto-bundle的唯一方法。
因此,在完成上述更改的作曲家更新後,我在項目的奏鳴曲管理區域中進行了一些失敗的測試。 通過做一些調試,我看到了下面的變化。
下面是我如何加載頁面燈具。
<?php // load Page fixtures
protected function create($dm, $class, $parent_path, $data_file)
{
$parent = $dm->find(null, $parent_path);
$data = $this->getData($data_file);
foreach ($data as $item)
{
$doc = new $class();
$doc->setParent($parent);
if (is_array($item['title'])) {
foreach ($item['title'] as $locale => $title) {
$doc = $this->createDoc($doc, $title, $item['body'][$locale], $locale);
$dm->persist($doc);
$dm->bindTranslation($doc, $locale);
}
} else {
$doc = $this->createDoc($doc, $item['title'], $item['body']);
$dm->persist($doc);
}
}
$dm->flush();
}
protected function createDoc($doc, $title, $body, $locale = 'en')
{
$doc->setTitle($title);
$doc->setContent($body);
$doc->setlocale($locale);
return $doc;
}
我的問題是:
我已經使用bindTranslation()方法在我的燈具。該方法在 cmf v1.1中有變化嗎?這就是爲什麼我無法看到管理界面中的字段? (我沒有使用simple-cms-bundle或content-bundle。)
這與上面沒有關係。我應該繼續使用 RoutingAutoBundle嗎? (因爲我沒有看到SO太多問題。 所以我想也許人們不使用它了)
我明白任何種類的建議,你可以給我關於我們的項目採用CMF束。
BTW:我也通過@閱讀GitHub的問題更新到1.1.0-RC1 lsmith77所以請不要指向我;)
請幫幫忙!如果您需要更多詳細信息,我在這裏。
謝謝。
@David謝謝您的快速回復。你是對的。我通過啓用cmf_core:multilang:選項來解決問題。我很高興,因爲我今天能夠合併升級分支:)。並再次感謝你和你的團隊在symfony cmf項目上的出色工作。 –