Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Tom Hayakawa
PPT, PDF
437 views
2005 09 17_osc2005_xoops
2005年9月17日 OSC(オープンソースカンファレンス)2005 Tokyo/Fall 日本電子専門学校 "XOOPS Smartyを活用したカスタマイズ "
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PPT
2005 10 07_kof2005_xoops
by
Tom Hayakawa
PPT
Gen-Template-for-Perl
by
nasneg
ODP
webを飾る技術
by
ina job
PPT
Html5 入門編 その2
by
ngi group.
PDF
MT meets PHP - PHP conference Kansai 2013
by
純生 野田
PDF
Inside Movable Type
by
純生 野田
PDF
やはりお前らのMTMLは間違っている!
by
純生 野田
PPTX
CSS Nite in Matsuyama vol.1 - session 4
by
arisu yano
2005 10 07_kof2005_xoops
by
Tom Hayakawa
Gen-Template-for-Perl
by
nasneg
webを飾る技術
by
ina job
Html5 入門編 その2
by
ngi group.
MT meets PHP - PHP conference Kansai 2013
by
純生 野田
Inside Movable Type
by
純生 野田
やはりお前らのMTMLは間違っている!
by
純生 野田
CSS Nite in Matsuyama vol.1 - session 4
by
arisu yano
Viewers also liked
PPT
2011 06 18_osmfj_osm-tokai
by
Tom Hayakawa
PDF
2012 08 11_josm-hamamatsu
by
Tom Hayakawa
PPT
2007 03 17_osc2007spring_01
by
Tom Hayakawa
PDF
2012 04 14_foss4_g_nagoya_osm
by
Tom Hayakawa
PPT
2011 11 19_osm_mikawa_sankan
by
Tom Hayakawa
PPT
2009 02 21_warp_groupware_for_osc
by
Tom Hayakawa
PPT
2011 08 09_open_streetmap_general
by
Tom Hayakawa
PPT
2006 07 29_xtc2006_x_cube_template
by
Tom Hayakawa
2011 06 18_osmfj_osm-tokai
by
Tom Hayakawa
2012 08 11_josm-hamamatsu
by
Tom Hayakawa
2007 03 17_osc2007spring_01
by
Tom Hayakawa
2012 04 14_foss4_g_nagoya_osm
by
Tom Hayakawa
2011 11 19_osm_mikawa_sankan
by
Tom Hayakawa
2009 02 21_warp_groupware_for_osc
by
Tom Hayakawa
2011 08 09_open_streetmap_general
by
Tom Hayakawa
2006 07 29_xtc2006_x_cube_template
by
Tom Hayakawa
Similar to 2005 09 17_osc2005_xoops
PPT
2005 05 21_xoops_xev4_customizing
by
Tom Hayakawa
PPT
2005 07 30_xwj_customizinig
by
Tom Hayakawa
PPT
2006 03 18_osc2006_x_cube_template
by
Tom Hayakawa
PDF
Xoopsサイト制作セミナー 20120922
by
Toshihiro Takehara
KEY
Cmsインサイド 120801 公開版
by
株式会社RYUS
PPT
2005 11 29_template_customize_seminer_04
by
Tom Hayakawa
PDF
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
by
Yahoo!デベロッパーネットワーク
PDF
MTDDC Meetup TOKYO 2015 bit-part
by
bitpart
PDF
Movable TypeのWebアプリケーションフレームワークの基本
by
Hajime Fujimoto
PDF
a-blogcsm な寺子屋 2 in Okazaki
by
Etsushi Ishii
PDF
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
by
Garyuten
PDF
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
by
Chieko Aihara
PDF
WordBenchTokyo-20111126
by
webourgeon
KEY
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
by
Yuji Nojima
PPT
やってみましたCMS XOOPS
by
jorurijin
PPTX
Magento meet up Tokyo#1 for Design
by
Miho Nakano
PDF
XOOPS Cube 2012
by
Hikawa Kilica
PDF
ノンプログラミングでここまでできる!WebデザイナーのためのCS-Cartカスタマイズ講座
by
YUKI YAMAGUCHI
KEY
Mojoliciousをウェブ制作現場で使ってみてる
by
jamadam
KEY
PHPがわからないデザイナーでもできる、簡単カスタマイズ術
by
Eri Sawada
2005 05 21_xoops_xev4_customizing
by
Tom Hayakawa
2005 07 30_xwj_customizinig
by
Tom Hayakawa
2006 03 18_osc2006_x_cube_template
by
Tom Hayakawa
Xoopsサイト制作セミナー 20120922
by
Toshihiro Takehara
Cmsインサイド 120801 公開版
by
株式会社RYUS
2005 11 29_template_customize_seminer_04
by
Tom Hayakawa
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
by
Yahoo!デベロッパーネットワーク
MTDDC Meetup TOKYO 2015 bit-part
by
bitpart
Movable TypeのWebアプリケーションフレームワークの基本
by
Hajime Fujimoto
a-blogcsm な寺子屋 2 in Okazaki
by
Etsushi Ishii
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
by
Garyuten
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
by
Chieko Aihara
WordBenchTokyo-20111126
by
webourgeon
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
by
Yuji Nojima
やってみましたCMS XOOPS
by
jorurijin
Magento meet up Tokyo#1 for Design
by
Miho Nakano
XOOPS Cube 2012
by
Hikawa Kilica
ノンプログラミングでここまでできる!WebデザイナーのためのCS-Cartカスタマイズ講座
by
YUKI YAMAGUCHI
Mojoliciousをウェブ制作現場で使ってみてる
by
jamadam
PHPがわからないデザイナーでもできる、簡単カスタマイズ術
by
Eri Sawada
More from Tom Hayakawa
PDF
2014 07 23 豊橋IT勉強会
by
Tom Hayakawa
PDF
2014 07 05 OSC2014Nagoya
by
Tom Hayakawa
PDF
2013/12/07 浜松勉強会_osm-edit
by
Tom Hayakawa
PDF
2013 12 02_osm 浜松セミナー
by
Tom Hayakawa
PDF
JOSM資料
by
Tom Hayakawa
PDF
OpenStreetMap資料
by
Tom Hayakawa
PDF
2013 02 09_osc2013_hamamatsu_osm
by
Tom Hayakawa
PDF
2012 12 08_ngk_osm_a
by
Tom Hayakawa
PDF
2012 09 06_sot_m_osm
by
Tom Hayakawa
PDF
2012 09 06_sot_m_osm_tokai
by
Tom Hayakawa
PDF
2012 08 11_osm_hamamatsu
by
Tom Hayakawa
PDF
2012 07 28_osm_ws3
by
Tom Hayakawa
PDF
2012 07 27_osm_project10
by
Tom Hayakawa
PDF
2012 07 27_geo_mediasumit_lt
by
Tom Hayakawa
PDF
2012 07 14_osm-ws_2
by
Tom Hayakawa
PDF
2012 06 30_osm-ws_1a
by
Tom Hayakawa
PDF
2012 05 12_osc2012_nagoya_osm
by
Tom Hayakawa
PPT
2011 06 18_open_streetmap_neta_no1
by
Tom Hayakawa
PPT
2011 06 18_open_streetmap_iphone4
by
Tom Hayakawa
PDF
2011 05 25_tokai_radicalnetwork_sinsai.info
by
Tom Hayakawa
2014 07 23 豊橋IT勉強会
by
Tom Hayakawa
2014 07 05 OSC2014Nagoya
by
Tom Hayakawa
2013/12/07 浜松勉強会_osm-edit
by
Tom Hayakawa
2013 12 02_osm 浜松セミナー
by
Tom Hayakawa
JOSM資料
by
Tom Hayakawa
OpenStreetMap資料
by
Tom Hayakawa
2013 02 09_osc2013_hamamatsu_osm
by
Tom Hayakawa
2012 12 08_ngk_osm_a
by
Tom Hayakawa
2012 09 06_sot_m_osm
by
Tom Hayakawa
2012 09 06_sot_m_osm_tokai
by
Tom Hayakawa
2012 08 11_osm_hamamatsu
by
Tom Hayakawa
2012 07 28_osm_ws3
by
Tom Hayakawa
2012 07 27_osm_project10
by
Tom Hayakawa
2012 07 27_geo_mediasumit_lt
by
Tom Hayakawa
2012 07 14_osm-ws_2
by
Tom Hayakawa
2012 06 30_osm-ws_1a
by
Tom Hayakawa
2012 05 12_osc2012_nagoya_osm
by
Tom Hayakawa
2011 06 18_open_streetmap_neta_no1
by
Tom Hayakawa
2011 06 18_open_streetmap_iphone4
by
Tom Hayakawa
2011 05 25_tokai_radicalnetwork_sinsai.info
by
Tom Hayakawa
2005 09 17_osc2005_xoops
1.
XOOPS Smarty を活用したカスタマイズ
Malaika System 早川知道 (Tom_G3X ) 2005.9.17
2.
XOOPS における Smarty
について Xoops2 より Smarty を導入 テーマ・テンプレートに採用 プログラム部分とビュー部分の独立 デザインの柔軟性が増す PHP コードの変更をしなくても、デザイン変更可能に Xoops1 では XOOPS コアやモジュールの PHP 言語から直接 HTML を出力 デザイン変更は、 PHP コードの変更を伴った Xoops2 より XOOPS コアやモジュールの PHP 言語より、 Smarty というテンプレートエンジンを介して HTML を出力 テンプレートの編集で容易にデザイン変更可能に ↓↓
3.
XOOPS 新機能 Xoops-JP2.0.10
より追加された Smarty 変数 <{$xoops_dirname}> 表示中のモジュールのディレクトリ名を返す <{$xoops_modulename}> 表示中のモジュール名を返す <{$block.weight}> ブロックの並び順を返す これらの追加で、カスタマイズの可能性が拡大
4.
$xoops_dirname $xoops_modulename <{$xoops_dirname}>
表示中のモジュールのディレクトリ名を返す <{$xoops_modulename}> 表示中のモジュール名を返す (モジュール管理画面で指定したモジュール名)
5.
旧バージョンとの比較 旧バージョンでは、こんな記述が必要だった 特別な記述は必要無くなった
<{php}> // -- 記述例 -- ( PHP を記述して、アサインする) global $xoopsModule; if ( is_object($xoopsModule) ) { $this->assign(‘ ex_module_name ’, $xoopsModule->getVar(‘name’)); $this->assign(‘ ex_module_dir ’, $xoopsModule->getVar(‘dirname’)); } <{/php}> <{ex_module_name}> モジュール名 <{ex_module_dir}> モジュール Dir 名 <{xoops_modulename}> モジュール名 <{xoops_dirname}> モジュール Dir 名 ↓↓
6.
例:モジュール毎に画像を変更 モジュール毎にロゴ画像を変更する 例:桜丘病院
<{strip}> <td id=“headerlogo”><a href=“<{$xoops_url}>/”> <{if $xoops_dirname }> <{* モジュール内を表示してる時 *}> <img src=“<{$xoops_imageurl}> title_<{$xoops_dirname}>.gif “ alt=“<{$xoops_modulename}>” /> <{else}> <{* index.php 等の xoops ルートファイルを表示してる時 *}> <img src="<{$xoops_imageurl}>logo.gif" alt="<{$xoops_slogan}>" /> <{/if}> </a></td> <{/strip}>
7.
テーマ記述例 (HEAD 内
) 例: XOOPSCubeTOKAI CSS 記述例 (news.css) 例:モジュール毎にCSSを変更 @import url(style.css); /* style.css を継承する */ /* 以下、相違個所のみ記述 */ td#headerbanner { background-color:#0e3c23; vertical-align:middle; text-align:center; } <{if $xoops_dirname }> <{* モジュール内を表示してる時 *}> <link rel="stylesheet" type="text/css" media="screen" href="<{$xoops_imageurl}> <{$xoops_dirname}>.css " /> <{else}> <{* index.php 等の xoops ルートファイルを表示してる時 *}> <link rel="stylesheet" type="text/css" media="screen" href="<{$xoops_themecss}>" /> <{/if}>
8.
例:メインメニューに画像を使う メインメニューに画像を使う <table
cellspacing=“0”> <tr><td id=“mainmenu”> <a class=“menuTop” href=“<{$xoops_url}>/”> <img src=“<{$xoops_imageurl}>menu_home.gif” alt=“<{$block.lang_home}>” /></a> <!-- start module menu loop --> <{foreach item=module from=$block.modules}> <{* メインメニューを表示 *}> <a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/"> <img src="<{$xoops_imageurl}> menu_<{$module.directory}>.gif “ alt=“<{$module.name}>” /></a> <{foreach item=sublink from=$module.sublinks}> <{* サブメニューを表示 *}> <a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a> <{/foreach}> <{/foreach}> <!-- end module menu loop --> </td></tr> </table>
9.
例:メインメニューに画像を使う2 表示中のモジュールに合わせてメニューをハイライトする <!--
start module menu loop --> <{foreach item=module from=$block.modules}> <a class=“menuMain” href=“<{$xoops_url}>/modules/<{$module.directory}>/”> <{if $module.directory == $xoops_dirname }> <{* 現在表示中のモジュールだけ、画像を変更する *}> <img src="<{$xoops_imageurl}> menu_<{$module.directory}> _a ctive .gif “ alt="<{$module.name}>" /></a> <{else}> <img src="<{$xoops_imageurl}> menu_<{$module.directory}>.gif “ alt="<{$module.name}>" /></a> <{/if}> <{foreach item=sublink from=$module.sublinks}> <a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a> <{/foreach}> <{/foreach}> <!-- end module menu loop -->
10.
例: CSS で応用する場合
画像ではなく CSS の class を変更する 例: XOOPSCubeTOKAI <!-- start module menu loop --> <{foreach item=module from=$block.modules}> <{if $module.directory == $xoops_dirname }> <{* 現在表示中のモジュールだけ、 class を変更する *}> <a class="menuMainActive" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}></a> <{else}> <a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}></a> <{/if}> <{foreach item=sublink from=$module.sublinks}> <a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a> <{/foreach}> <{/foreach}> <!-- end module menu loop -->
11.
$block.weight <{$block.weight}> ブロックの並び順を返す
12.
例:ブロック表示位置を増やす $block.weight
を使って、こんなレイアウトも可能に テーマの作り方次第では、 中央下段にブロックエリアを追加する事も可能になる。 どうやってするのか?? 左 右 中央 - 中 中央 - 左 中央 - 右 (追加) 中央 - 中 (追加) 中央 - 左 (追加) 中央 - 右 コンテンツ
13.
例:ブロック表示位置を増やす ( コード
) 記述例 ( theme.html ) <{foreach item=block from=$xoops_ccblocks}> <{if $block.weight < 100 }> <div class=“BlockTitle”><{$block.title}></div> <div class=“BlockContent”><{$block.content}></div> <{/if}> <{/foreach}> : 中略 : <{foreach item=block from=$xoops_ccblocks}> <{if $block.weight >= 100 }> <div class=“BlockTitle"><{$block.title}></div> <div class=“BlockContent"><{$block.content}></div> <{/if}> <{/foreach}>
14.
例:ブロック表示位置を増やす ( 表示
) 並び順の 特定の数値 を境に表示位置を変える この $block.weight を 応用すれば、 テーマの作り方次第で、 無数にブロック表示位置を 増やす事が出来る。 左 右 中央 - 中 ( 100 未満) 中央 - 左 ( 100 未満) 中央 - 右 ( 100 未満) (追加) 中央 - 中 ( 100 以上) (追加) 中央 - 左 ( 100 以上) (追加) 中央 - 右 ( 100 以上) コンテンツ
15.
お勧めのテンプレートカスタマイズ アカウント情報ページ メールアドレスのエンコード(
spam メール対策) ゲストに必要以上の個所を表示しない フォーラム記事ページ 投稿者のIPを管理者だけ表示する ニュースアーカイブのページ レイアウトの変更(年度毎に表示させる)
16.
例:メールアドレスのエンコード メールアドレスのエンコード system_userinfo.html
<tr valign="top"> <td class="head"><{$lang_email}></td> <td class="odd"> <{mailto address="$user_email" encode="javascript"}> </td> </tr> </tr> <!– ソースを見るとこんな感じにエンコードされている --> <tr valign="top"> <td class="head"> メールアドレス </td> <td class="odd"> <script type="text/javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e %77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%74%6f%6d%40%6b%61%73%75%67%61%69%2d%6b%6f%6d%61%6b%69%2e%6a%70%22%20%3e%74%6f%6d%40%6b%61%73%75%67%61%69%2d%6b%6f%6d%61%6b%69%2e%6a%70%3c%2f%61%3e%27%29%3b'))</script> </td> </tr>
17.
例:ゲストに表示させない ゲストに必要以上表示させない system_userinfo.html
<{if $xoops_isuser}> <tr valign="top"> <td class=“head”><{$lang_location}></td> <{* 居住地 *}> <td class="odd"><{$user_location}></td> </tr> <tr valign="top"> <td class=“head”><{$lang_occupation}></td> <{* 職業 *}> <td class="even"><{$user_occupation}></td> </tr> <tr valign="top"> <td class=“head”><{$lang_interest}></td> <{* 趣味 *}> <td class="odd"><{$user_interest}></td> </tr> <{/if}>
18.
例:管理者だけ表示する 投稿者のIPを管理者だけ表示 newbb_thread.html
中略 <{if $topic_post.poster_uid != 0}> <td class=“odd”><div class=“comUserRank”> ~中略~ <div class="comUserStatus"><{$topic_post.poster_status}></div> <{if $xoops_isadmin }> <div style="color:#ff0000;" >IP : <{$topic_post.post_poster_ip}></div> <{/if}> </td> <{else}> <td class="odd"></td> <{/if}> 中略
19.
例:アーカイブページのレイアウト変更 年度毎表示に変更する news_archive.html
以下、 青字部分を消して、赤字部分を追加する カスタマイズ使用例 使用前 XOOPSCubeJP 使用後 うえこみ春日井小牧 <{foreach item=year from=$years}> <tr class="even"><td><b><{$year.number}> 年 </b></td></tr> <tr class=“odd”><td> <{foreach item=month from=$year.months}> <tr class="even"><td> <a href="./archive.php?year=<{$year.number}>&month=<{$month.number}>"> <{$month.string}> <{$year.number}> </a> </td></tr> <{/foreach}> </td></tr> <{/foreach}>
20.
Smarty プラグイン活用のすすめ Smarty
プラグインを活用すれば、 複雑な機能も汎用的に活用できるようになる。 Xoops の仕様上の制約を解決出来る。 Xoops 専用 Smarty プラグインも多く開発されている Xoops_block プラグイン TinyD プラグイン …… ..etc
21.
xoops_block プラグイン(紹介) Xoops_block
プラグイン 「どこでもブロック」プラグイン ? (^^ ゞ テーマ・テンプレートなどの Smarty レベル上であれば、 どこでもブロック関数を呼び出して表示できる。 テーマの通常のブロック表示エリア以外(ヘッダー・フッターなど)にも ブロックを呼び出し表示できる。 ブロックのテンプレートに使えば、ニコイチブロックが出来る。 コンテンツの中に、ブロックを表示する事も可能になる。 ブロック関数を呼出し、 Smarty 変数にアサインしてるだけ 自由にレイアウト可能 上級者向けではあるが、使いこなせれば超強力 ・・・・・・かも (^^ ゞ
22.
xoops_block プラグイン(使い方 1
) 記述方法1 モジュールディレクトリを指定する方法 <{ xoops_block mod=“ モジュールディレクトリ名 ” func=“ ブロック関数名 ” opt=“ 関数の引数 ( 必要に応じて ) " assign=" テンプレートアサイン名 "}> <{ xoops_block mod=" news " func=" b_news_top_show " opt=“ published,10,50 ” assign=“ newsblock ”}> <{* テンプレートからコピーして、アサイン名だけ変更すれば OK ! *}> <ul> <{foreach item=news from= $newsblock .stories}> <li><a href="<{$xoops_url}>/modules/news/article.php?storyid=<{$news.id}>"> <{$news.title}></a> (<{$news.date}>)</li> <{/foreach}> </ul>
23.
xoops_block プラグイン(使い方2) 記述方法2
ブロック関数が記述されたファイルを直接指定する方法 <{ xoops_block file=“ ブロック関数が記述されたファイル ” func=“ ブロック関数名 ” opt=“ 関数の引数 ( 必要に応じて ) " assign=" テンプレートアサイン名 "}> <{ xoops_block file =“ modules/news/block/news_top.php " func=" b_news_top_show " opt=“ published,10,50 ” assign=“ newsblock ”}> <{* テンプレートからコピーして、アサイン名だけ変更すれば OK ! *}> <ul> <{foreach item=news from= $newsblock .stories}> <li><a href="<{$xoops_url}>/modules/news/article.php?storyid=<{$news.id}>"> <{$news.title}></a> (<{$news.date}>)</li> <{/foreach}> </ul> [ 裏技 ] ブロック関数の記述ルールに合っていれば、独自関数も使用できる。 <{ xoops_block file =“ myfunction .php " func=“ my_xxxx_show " assign=“ myblock ”}>
24.
xoops_block プラグイン(使用例1) テーマのヘッダーに使用する
例: XOOPSCubeTOKAI メインメニューを表示 + ログインフォームを表示 <{ xoops_block mod=“ system ” func=“ b_system_user_show ” assign=“ loginblock ”}> 中略 User:<input type="text" name="uname" size="10" value="<{ $loginblock.unamevalue }>" /> Pass:<input type="password" name="pass" size="10" /> 中略 <{ xoops_block mod=“ system ” func=“ b_system_main_show ” assign=“ ex_mainmenu ”}> <{foreach item=module from= $ex_mainmenu. modules }> <a href=“<{$xoops_url}>/modules/<{$module.directory}>/”><{$module.name}></a> | <{/foreach}>
25.
xoops_block プラグイン(使用例2) ブロックの中に別のブロックを表示
例: うえこみ春日井小牧 piCal ミニカレンダーを表示する <{ xoops_block mod=" piCal " func=" pical_mini_calendar_show " assign=" piCal_miniCal "}> <{ $piCal_miniCal.content }>
26.
Xoops_block プラグイン(使用例3) 独自の関数を使う
ニュースの新着記事をトップページに表示 Spotlight ブロックもどきの関数を自作する ( 例: my_newsitem) その独自ファイルを指定して呼び出す ( 例: myfunction.php) <{ xoops_block file=“ myfunction.php " func=" my_newsitem “ opt=" 128 " assign=" mynew "}> <div class="item"><div class="itemHead"><span class="itemTitle"> <a href="<{$xoops_url}>/modules/news/article.php?storyid=<{$mynews.storyid}>"> <{$mynews.title}></a> </span></div> 以下略
27.
テーマ・テンプイレートにおける問題点 あくまで原則だが・・・。 コア・モジュールは、
HTML を書かない HTML は、 Smarty 側 ( テーマ・テンプレート ) で受け持つべき そうであれば・・・ 柔軟なカスタマイズが容易に可能になる 利用者にとってもメリットは大きい筈 その為のひとつの方法として・・・ (あくまで理想として) プログラムとテンプレート ( デザイン ) の分業も良いかも プログラム作者 + テンプレート作者 実際には、モジュール等は一人で開発するケースがほどんどで、 難しい事も多いのが現実
28.
アカウント情報ページのカスタマイズ 「ホームページ」項目でリンクを画像で表示したい Default
テンプレート カスタマイズ <td class="head"><{$lang_website}></td> <td class="even"> <{if $user_websiteurl|strip_tags:false != ""}> <a href="<{$user_websiteurl|strip_tags:false}>" target="_blank"> <img src="<{$xoops_url}>/images/icons/www.gif" border="0" /></a> <{/if}> </td> <td class="head"><{$lang_website}></td> <td class="even"> <{$user_websiteurl}> </td>
29.
アカウント情報ページの問題点 現状のアサイン方法 HTML
タグ込みでアサインされている 理想的なアサイン方法 URL のみでアサインするべき カスタマイズが容易になる <{$user_websiteurl}> <a href=“http : //www.xxx.com/” target=“_blank”> http://www.xxx.com/</a> <td class="even"> <{$user_websiteurl}> </td> <{$user_websiteurl}> http://www.xxx.com/ <td class="even"> <a href=“ <{$user_websiteurl}>” target=“_blank”> <{$user_websiteurl}></a> </td> <{if $user_websiteurl }> <{* 画像を表示する場合のカスタマイズ例 *}> <a href=“ <{$user_websiteurl}> ” target=“_blank” > <img src="<{$xoops_url}>/images/icons/www.gif" border="0" /> </a> <{/if}>
30.
おしまい ご参考にしていただければ幸いです 御清聴ありがとうございました
Editor's Notes
#7
・ if 文でモジュール内を表示してる時と、そうでない時 (index.php など XOOPS ルートファイルを表示してる時 ) を分岐する。 モジュール内を表示してる時は、 title_(module_dir_name).gif を表示させる。 ・あらかじめ、使用するモジュールの画像を作成しておく。 => title_(module_dir_name).gif (この場合は、 default テーマのディレクトリの中に置いておく) ・場合によっては、画像の前後の改行やスペースがレイアウト崩れの原因になる事がある。 これを、 <{strip}> を使用して解決できます。
#31
本日は、どうもありがとうございました。
Download