2013-06-20 56 views
0

我使用兩個文件來顯示我的網頁一個是頁眉和頁腳(layout.htm)和內容(content.htm)使用smarty我是包括文件 如: 版式.htmW3C驗證錯誤'文檔類型不允許元素「鏈接」這裏'

<html> 
    <head> 
     //here i am adding script and styles its common for all page 
    </head> 
    <body> 
    <div class="body"> 
     {include file=$INNER_PAGE}   
    </div> 
</body> 
</html> 

我需要在內部頁面樣式分別是風格應該只是單獨,所以我不能添加到版式.htm頁面。所以,我包括下面的一行到我content.htm文件

<link rel="stylesheet" type="text/css" href="prop_descr.css"/> 

,因爲其示值誤差所以我怎麼能解決這個

謝謝!

+0

我認爲這是某種類型的模板?你可以在文檔的''中添加一個佔位符,以用於以後定義的樣式表? –

+0

怎麼樣?因此,我想添加佔位符的每個腳本和樣式? – Athi

+0

您的模板不允許將'link'元素添加到正確的位置。 – jantimon

回答

1

只需添加一個有條件的頭部標籤內你的版式.htm模板:

{if $extra_css} 
<link rel="stylesheet" type="text/css" href="{$extra_css}"/> 
{/if} 

,然後再將文件名在你的PHP的變量:

$smarty->assign('extra_css', 'prop_descr.css'); 

編輯:如果你需要使用多個,使用一個數組並循環它:

php:

$smarty->assign('extra_css', array('prop_descr.css','another.css','another_one.css')); 

智者:

{foreach from=$extra_css item=css_path} 
    <link rel="stylesheet" type="text/css" href="{$css_path}"/> 
{/foreach} 
+0

超過2 CSS和腳本我也想補充。因此,對於所有.css和.js我想創建一個smarty變量? – Athi

+0

看看我編輯的答案 – Borgtex

0

通過HTML規範,您不能在body元素內使用link元素。您應該安排一些東西,以便link元素顯示在head元素內。在給定的上下文中,您可以通過省略div class=body標記(不應該需要它,儘管忽略它可能需要更改您的CSS代碼)以及標記</head><body>。不過,可能有更聰明的方法來實現這一目標。