Edited at

XOOPS Cubeのテーマでトップページ判定するためのPreload

More than 3 years have passed since last update.

まだtheme.html内で一発でサクッとトップページへのアクセスかを判定する方法がなかったようなので、ついカッとなってやってしまった

下記コードをhtml/preload/IsToppage.class.phpとして保存。

<?php

class IsToppage extends XCube_ActionFilter
{
protected $isTop = false;
public function preBlockFilter()
{
$this->mController->mRoot->mDelegateManager->add("Legacypage.Top.Access", array(&$this, 'topAccess'));
}

public function topAccess()
{
$this->isTop = true;
$GLOBALS['xoopsTpl']->assign('xoops_is_top', $this->isTop);
}
}

そしたらtheme.htmlないで下記のように判定につかえます

<{if $xoops_is_top }>

トップページぺん!
<{else}>
トップページじゃなかったぺーん
<{/if}>


2015/10/05追記

ファイルをgistに用意しました。