0

我被要求为 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;
}

任何有关如何实现这一目标的指导将不胜感激。

4

1 回答 1

0

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

为此,请进入扩展 > 用户定义标签下的管理员。

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

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}
于 2014-01-27T09:55:48.317 回答