Notice: Undefined index: version in /var/www/html/net-mon-star.com/Diamond/templates/nms_pottery_white2/index.php on line 45
net-mon-star.com

RSS配信

MODx試験運転中

modxmono

design by net-mon-star.com
5-4:index.phpの制作 PDF プリント
2006/04/30 日曜日 20:21:04 JST
出来上がったHTMLにJoomla!のPHPコードを埋め込んで index.php を作ります。これが完成すれば、工程の2/3は終わる事に。後はCSS設定と動作チェックだけ。(これがまた悩ましい事ばかりで気が重くなりますが、まぁ、やりかかった事なのでがんばりましょう。。)
まず、Joomla!ディレクトリ直下で[templates]ディレクトリを探して、その中に[madeyourweb]というディレクトリを探します。その中に[index.php]というファイルがあるので、これを作業ディレクトリに別名保存(例えばmadeyourweb.php)しておきます。 先ほど完成したHTMLファイルも同じ作業ディレクトリに保存してあるとして、このHTMLファイルを[index.php]として別名保存します。
さて、この[ index.php ]と別名保存した[ madeyourweb.php ]をエディタ等で2つとも開きます。何も考えず、[ madeyourweb.php ]の先頭から28行目の</head>までを選択しコピーします。それを[ index.php ]の先頭にペーストします。
このペーストした部分で27行目を1行全て削除します。26行目の【madeyourweb】を自分の好みの名前にします。これがこのテンプレートの名前になります。
私は一応、net-mon-star_PPとしました。
ついでに、この下に1行書き込んでおります。Javascriptをあえて使う必要もないのですが、こんなのもあっていいかも。と。
<script type="text/javascript"src="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/setimg.js"></script>

それと、21、22行目ですが、CSSを設定しているときに間違いやすいので、間違えにくいユニークな名前に変えます。
ここは、通常「新着情報」「人気記事」が並んで表示されているところが、どちらか1つの時に使用するCSSのID名を指定しています。
$usera ='user-one';
$userb ='user-one';

上記は、useraという変数にuser-oneという値を代入し、またuserbという変数にuser-oneという値を代入するといった意味になってます。
ここまでで、【head】部は終わりましたので、元のHTMlファイルにあったヘッド部は削除します。次に【body】部の作業に入ります。
下記のようなイメージタグは、

<img src="images/Sgreen_3.png" alt="" height="41" width="723" border="0">

すべて、
<img src="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/images/Sgreen_3.png" alt="" height="41" width="723" border="0"  />

 …の形に書き換えます。
エディタの置換機能で一斉置換すると、簡単です。
同じように、
<td background="images/back_db.gif">
 のような記述も
<td background="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/images/back_db.gif">
のように全て書き換えます。
理解している範囲で説明してみます。
$mosConfig_live_site は、変数名です。configuration.php をエディタで開いて41行目を見れば、格納されている値がわかります。phpが実行されれば、<?php echo $mosConfig_live_site; ?>は、格納している値を表示してくれます。たとえば。http://testsite.com とか。
次に、モジュールポジションを表示させるコードを予定している位置に書き入れます。
【user6】ポジションを指定します。
■元HTML
<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="layout table 1-7L1R">
<tr>
<td background="images/back_db.gif"></td>
</tr>

下記のようにしました。
■index.php
<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="layout table 1-7L1R">
<tr>
<td background="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/images/back_db.gif">
    <?php
        if (mosCountModules( "user6" )) {
    ?>
        <div class="ad-vertise">
            <?php mosLoadModules ( 'user6',-1); ?>
        </div>
    <?php
    }
    ?>

</td>
</tr>
つづいて、【sitename】と【banner】を指定。
■元HTML
<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="head2 layout table 3-1L3R">
<tr>
<td width="13" height="81" background="images/Sgreen_7.png"><img src="images/Sgreen_7.png" alt="" height="81" width="13" border="0"></td>
<td valign="bottom" width="100%" height="81" background="images/bcolor.png">
<table width="735" border="0" cellspacing="0" cellpadding="0" summary="title layout table 4-1L2R">
<tr>
<td width="300"></td>
<td align="right" width="435"></td>
</tr>
</table>
<table width="735" border="0" cellspacing="0" cellpadding="0" summary="topmenu layout table 5-1L1R">
<tr>
<td align="right"></td>
</tr>
</table>
$mosConfig_sitenameに格納されている変数値は、【サイト名】です。ここではこれを表示させています。表示に際しては、site-titleというCSSクラス名が参照されるようにしています。
その下は、【banner】を指定しています。
■index.php
<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="head2 layout table 3-1L3R">
<tr>
<td width="13" height="81" background="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/images/Sgreen_7.png"><img src="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/images/Sgreen_7.png" alt="" height="81" width="13" border="0"  /></td>    
<td width="100%" height="81" background="<?php echo $mosConfig_live_site; ?>/templates/net-mon-star_PP/images/bcolor.png">
<table width="735" border="0" cellspacing="0" cellpadding="0" summary="title layout table 4-1L2R">
<tr>
<td><p class="site-title"><?php echo $mosConfig_sitename; ?></p></td>
<td align="right">
    <?php
        if (mosCountModules( "banner" )) {
    ?>
        <div id="banner">
            <?php mosLoadModules ( 'banner',-1); ?>
        </div>
    <?php
        }
    ?>

</td>
</tr>
</table>
【user3】を指定。トップメニューとわかりやすいclass名を指定してます。(そのまんま)
■元HTML
<table width="735" border="0" cellspacing="0" cellpadding="0" summary="topmenu layout table 5-1L1R">
<tr>
<td align="right"></td>
</tr>
</table>
■index.php
<table width="735" border="0" cellspacing="0" cellpadding="0" summary="topmenu layout table 5-1L1R">
<tr>
<td align="right">
    <?php
        if (mosCountModules( "user3" )) {
    ?>
        <div class="top-topmenu">
            <?php mosLoadModules ( 'user3',-1); ?>
        </div>    
    <?php
        }
    ?>

</td>
</tr>
</table>
…このようにして、HTMLを作る際に想定したモジュールポジションの配置位置に[ madeyourweb.php ]を参照し、コピーで済むところはコピーして、ペーストしていきます。そうはいかないところは、それなりに書き込んでいきます。
【debug】まで指定しおわったら、index.phpはひとまず完成です。
では、これでうまく表示できるかテストしてみましょう。
既存の「madeyourweb」テンプレートがある同一階層に、テンプレート名でディレクトリを作って、そこに出来上がったindex.phpを保存または、コピーします。
「madeyourweb」ディレクトリから、CSSディレクトリをとりあえず丸ごとコピーします。「templateDetails.xml」もコピーします。「templateDetails.xml」をエディタで開いて、    とりあえず<name>madeyourweb</name>の項目を自分のテンプレート名と同じにします。
以上が終わったら、Joomla!の管理エリアに入って、テンプレートを切り替えます。
このように表示されます。
index0.png
まだ、CSS設定が終わっていないので、あたりまえですが表示はぎこちないです。
想定した位置にそれぞれが表示されていることを確認できれば、ひとまず成功です。
さぁ、CSS設定を完成させましょう。
最終更新日 ( 2006/09/12 火曜日 12:16:05 JST )

wide-frame
txtsize x1.2
txtsize x1.4
wideframe-txtsize x1.2
bigframe-txtsize x1.4
Go to pagetop