2013-10-25 31 views
0

我被要求爲CMS Made Simple站點添加一些代碼。該網站有一個着陸頁以及主頁。我想要改變標題中的徽標(它設置爲我的CSS),以訪問者會話的所有頁面爲準,具體取決於訪問者是首先訪問着陸頁還是首先訪問主頁。CMS Made Simple - 根據變量更改標題

因此,如果訪問者訪問登錄頁面,然後訪問網站中的其他頁面,那些其他頁面應該都使用登錄頁面徽標,但是如果訪問者不先登錄該登錄頁面,則其他頁面網站頁面應使用默認徽標。

我不熟悉CMS Made Simple,所以我不知道如何去做這件事。我正在考慮設置一個會話變量或創建一個cookie,然後根據該值向模板(登錄頁面模板和默認模板)添加一些代碼。

在着陸頁標題中的當前的代碼是:

<div id="logo"><h1>{cms_selflink dir="start" text="call and data roaming experts" class="logoAero"}</h1></div> 

而CSS是:

h1 a.logoAero { 
    display: block; 
    width: 310px; 
    height: 82px; 
    background: url(/images/web/logoAero.jpg) 0 0 no-repeat; 
} 

就如何實現這一目標的任何指導,將不勝感激。

回答

0

爲此,您應該構建一個UDT(用戶定義的標籤)。

要做到這一點,請在管理下的擴展>用戶定義的標籤。

創建一個標籤(例如, 「原產地」)用下面的代碼:

if(isset($params['origin'])) 
{ 
    $_SESSION['website_origin'] = $params['origin']; 
} 

if(isset($_SESSION['website_origin'])) 
{ 
    $smarty->assign('website_origin', $_SESSION['website_origin']); 
} 

在兩個 「起源」 的網頁,你可以使用下面的代碼:

{origin origin="foo"} 

{origin origin="bar"} 

在其他頁面使用代碼

{origin} 

在您的模板中,您現在可以測試變量的存在website_origin和玩吧:

{if isset($website_origin)}<h1>{$website_origin}</h1>{/if}