2012-09-19 38 views
2

我的主頁上有<title>標籤存在一些奇怪的問題(問題僅出現在此頁面上)。該標題確實出現,並在一些刷新後消失(這意味着我有<title>Homepage</title>,然後<title></title><title>標籤在我的主頁上變爲空

該問題只發生在我的生產服務器上。在開發服務器上沒有問題。

如果我確實創建了另一個配置模式,問題似乎就解決了。例如,我嘗試使用我的bypassmode.phpindex.php的一個副本,但新值:prod =>bypass在我的app.yml & doctrine.yml)。

當我編輯生產view.yml改變標題,然後我./symfony cc,它再次工作,但刷新後消失。與當我在操作中直接添加$response->setTitle('Homepage');時相同。

我看過緩存文件./cache/frontend/prod/config/modules_home_config_view.yml.php,但標題設置正確。

我用盡想法...有什麼建議嗎?

編輯:如下建議,我把我的<title>儘可能靠近<head>,但它沒有改變任何東西。

經過function include_title()的進一步調查,是否有可能是sfContext :: getInstance() - > getResponse() - > getTitle();可能未定義?可能APC會成爲問題嗎?

我考慮編輯AssetHelper.php

function include_title() 
{ 
    $title = sfContext::getInstance()->getResponse()->getTitle(); 

    // Adding some ugly patch here 
    if (empty($title)) 
     $title = "Default title for my homepage"; 
    // End nasty patch 

    echo content_tag('title', $title)."\n"; 
} 

但是,這是太髒了,我希望我可以找到任何其他清潔的解決方案......

+5

爲什麼downvote?這是一個正常的問題,提問者在上下文/錯誤/等等上詳細闡述。 – Sherlock

+2

你爲什麼不使用插槽?在您的首頁上定義一個名爲'title'的插槽,其默認值爲i,'<?php include_slot('title','Default Title')?>',然後每當您想要更改它時, '<?php slot('title','New Title!')); ?> – pankar

+0

但是我的許多標題都是在我的view.yml中定義的,所以我必須將它們全部移到控制器中,對不對? – MaximeBernard

回答

1

造成這種情況的主要原因是,如果你是使用HTTP/1.1和Transfer-Encoding進行分塊。如果<title>標記不是<head>中的第一件事情,分塊可能會導致瀏覽器丟失。

嘗試將<title>標記移近<head>的頂部。

+0

感謝這些信息,我不知道這些。我試過你的解決方案,但不幸的是,它沒有改變任何東西。 – MaximeBernard

相關問題