FAQ » テーマのカスタマイズ

テーマのカスタマイズ

最新FAQ

tinyDやpicoといったモジュールで静的コンテンツ作成支援としてSPAWエディタを使用する場合に、右側に表示されるスクロールバーが切れてしまう現象が報告されています。

この場合(おそらくIEのみだと思うのですが)には、
/common/spaw/spaw_controlc.class.phpの233行目、

  	  $buf.= '<iframe id="'.$n.'_rEdit" style="width:100%; height:'.$this->getHeight().'; direction:'.$this->lang->getDir().';" class="SPAW_'.$this->theme.'_editarea" frameborder="no" src="'.$spaw_dir.'empty.html"></iframe><br>';
で指定されたiframeの幅を調節してください。

またpicoであれば、
モジュール名_main_content_form.html
が編集画面のテンプレートですので、該当部分を大きく広げるよう編集する事もよいでしょう。

該当部テーブルセルを統合してしまうなどの例


<th class="head"><label for="body"><{$smarty.const._MD_PICO_TH_BODY}></label></th>
			<td class="even">
				<{if $body_wysiwyg}>
					<{$body_wysiwyg}>
				<{else}>
					<input type="checkbox" id="body_bbcode_onoff" onclick="if(this.checked){document.getElementById('body_bbcode_buttons_pre').style.display='block';document.getElementById('body_bbcode_buttons_post').style.display='block'}else{document.getElementById('body_bbcode_buttons_pre').style.display='none';document.getElementById('body_bbcode_buttons_post').style.display='none'};" /><label for="body_bbcode_onoff"><{$smarty.const._MD_PICO_LABEL_INPUTHELPER}></label>
					<br />
					<{xoopsdhtmltarea name="body" cols="60" rows="15" value=$content.body pre_style="display:none;" post_style="display:none;"}>
				<{/if}>
			</td>



			<td colspan="2" class="even"><label for="body"><{$smarty.const._MD_PICO_TH_BODY}></label>
				<{if $body_wysiwyg}>
					<{$body_wysiwyg}>
				<{else}>
					<input type="checkbox" id="body_bbcode_onoff" onclick="if(this.checked){document.getElementById('body_bbcode_buttons_pre').style.display='block';document.getElementById('body_bbcode_buttons_post').style.display='block'}else{document.getElementById('body_bbcode_buttons_pre').style.display='none';document.getElementById('body_bbcode_buttons_post').style.display='none'};" />					<label for="body_bbcode_onoff"><{$smarty.const._MD_PICO_LABEL_INPUTHELPER}></label>
					<br />
					<{xoopsdhtmltarea name="body" cols="60" rows="15" value=$content.body pre_style="display:none;" post_style="display:none;"}>
				<{/if}>
			</td>

以下コードをテーマの任意の場所に記入します。

<form style="margin: 0px;" action="<{$xoops_url}>/user.php" method="post">
ID : <input type="text" name="uname" value="<{$block.unamevalue}>" maxlength="25" style=" width:60px; height:12pt; padding:0px;" />
Pass : <input type="password" name="pass" maxlength="32" style=" width:60px; height:12pt; padding:0px;" value="" />
<input type="hidden" name="xoops_redirect" value="<{$xoops_requesturi}>" />
<input type="hidden" name="op" value="login" />
<input type="submit" value="Login" id="login_btn" />
</form>


また、ログインしたときにはこのログインブロックは不要ですので、

<{if !$xoops_isuser}>
ログインブロック
<{/else}>
ログイン後に表示したいもの
<{/if}>

としてあげるといいと思います。

以下コードを任意の場所に記入します。

<form id="searchForm" name="searchForm" action="<{$xoops_url}>/search.php" method="get">
<input name="query" type="text" value=" " size="14" id="searchbox" />
<input type="hidden" name="action" value="results" />
<input type="submit" value="検索" class="search_btn" />
</form>


idなどを振ってありますので、見た目を変更したい場合はCSS側で制御しましょう。

themeに書き込んだリンクがうまくいかないと同じですが、XOOPSでは様々な階層のページで、同じデザインテーマを利用し画面を出力するため、独自のルールが必要です。

テーマ内で使用する画像は、テーマと同一ディレクトリに配置するのが最適です。
theme.htmlと同じ場所にlogo.gifをおいた場合は、

<img src="<{$xoops_imageurl}>logo.gif">
と指定します。

<{$xoops_imageurl}>はSmartyコードと呼ばれるもので、XOOPSが画面の最終HTMLを出力する際に、これを定義された値に変換します。
<{$xoops_imageurl}>には、
XOOPSのサイトURL/themes/テーマディレクトリ名称/
が代入されます。

通常のHTMLでのリンクは、絶対パス(サイトルートを起点に/スラッシュで始める記述法)や相対パス(自分のファイルを起点に../等で始める記述法)で記述されますが、XOOPSでは様々な階層のページで、同じデザインテーマを利用し画面を出力していますので、独自のルールが必要です。

例:aboutというモジュール名称のトップページへリンクしたい場合。


<a href=\"<{$xoops_url}>/modules/about/\">会社概要</a>

のように記述します。
<{$xoops_url}>は、Smartyコードと呼ばれるもので、XOOPSが画面の最終HTMLを出力する際に、これを定義された値に変換します。
<{$xoops_url}>には、mainfile.phpであなたが指定したサイトのルートURLが代入されます。

絶対パスでも動作するという場合もありますが、もしサイトルート以外にXOOPSをインストールする場合は有効になりませんので、ルールに基づいて記述することをお勧めします。

システム管理>>一般設定>>一般設定で、
引用:
themes/ ディレクトリからの自動アップデートを有効にする

が有効になっていないと思われます。

修正を行った場合は、これを一度有効にしてサイトを閲覧し、反映されたことを確認してください。
この時点で、DB上に保持するtheme.htmlやheader_menu.html等のリソースが書き換わります。

またサイトの安全な運用のため、修正が終わったらこの設定を無効に戻します。

広告

お勧め1XOOPS構築のお勧めサーバ

今XOOPS構築にお勧めのホスティングサーバーは間違いなくヘテムルです。盛り上がるコミュニティを作るなら、容量余裕の3GBは魅力。しかも月額たった1,500 円。ヘテムルは容量だけではなく、性能面や機能面も充実。重いXOOPSはユーザが離れがちになるのが心配...。でもヘテムルはサクサクきます。その他動画のストリーミング配信などが可能になるFlashMedia Server 2 や、 ColdFusion MX 7 をプリインストールしている点も見逃せません。

お勧め2XOOPSサイト構築のお勧め専用サーバ

気合の入った運用をXOOPSで行うなら、やっぱり専用サーバーがほしいところ...。専用サーバの入門編としては、 マイティーサーバー がお勧めです。

ドメイン取得からの人は、

年間693円からの格安ドメイン取得サービス─ムームードメイン で格安ドメインをGET!
サイト運営者情報
このサイトは(有)BCOOLによって運営されています。
インターネットコンサルティングBCOOL
LINKS
ユーザ向け


開発者向け