CMS变得简单 - 基于变量的改变标题

时间:2013-10-25 10:55:54

标签: templates cookies session-variables cmsmadesimple

我被要求为CMS Made Simple网站添加一些代码。该网站有一个登陆页面和主页面。我想根据访问者是先到达目标网页还是首先访问主页来更改访问者会话的所有页面的标题中的徽标(设置我的css)。

因此,如果访问者访问目标网页然后转到网站中的其他网页,则其他网页都应使用目标网页徽标,但如果访问者未首先访问该目标网页,则访问其他网站页面应使用默认徽标。

我不熟悉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;
}

非常感谢有关如何实现这一目标的任何指导。

1 个答案:

答案 0 :(得分:0)

为此,您应该构建一个UDT(用户定义的标签)。

为此,请转到扩展程序&gt;下的管理员。用户定义的标签。

使用以下代码创建标记(例如,“origin”):

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

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

在两个“origin”页面中,您可以使用以下代码:

{origin origin="foo"}

{origin origin="bar"}

在其他页面上,使用代码

{origin}

在模板中,您现在可以测试变量website_origin的存在并使用它:

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