Joomler!.net - Decided on Joomla!

Jboard is Multiple Board!

 

Archives

Blog

Demo

Home » Blog » テンプレート側
1 votes
Written by:Joomler! 8524 hits Monday, 16 February 2009 17:04

このサイトのテンプレート作成の事もあり、私なりにテンプレート作成記録を書いていこうかと思う。

まず、第一回(って続くのか?)
よくあるサイト下部の 「|」で分割されたメニューをモジュールの出力をそのまま使って、作ってみる。できあがりの出力結果は、画像の通り。

 template_01_module_override

ちなみに解説すると、tableタグを使わずセンターに持ってきて、しかも文字で「|」をセパレータとして使い、センターに持ってきて且つ、横幅は臨機応変、柔軟に対応したい。(こんなことしなくたって・・・と言う方は、さっさとよそへ行った方が時間がもったいないです。)

で、モジュールから出力されるメニューは、モジュール(mod_mainmenu)の設定をどうしようが、メニューリンクは、必ず「ul」なり、「table」タグで囲まれて出力されます。私のような、CSS下手な人間にとってこれは、非常に面倒です。・・・私には無理です。

そこで、こんなオーバーライドをしてみました。

 
0 votes
Written by:Joomler! 11076 hits Thursday, 29 January 2009 16:35

Fluid 960 Grid SystemをJoomla!のテンプレート化しようと考えてみた。
ダウンロードするとき、たくさんのコメントが寄せられている中に1.0.2(ページ中程)があることに注意した方が良い。

fluid_960_grid_system

以前に960 Grid Systemのことを書いたが、それ以来一度は試してみようと思ったものの何もしてきませんでした。今回その960 Grid Systemを使ってさらに拡張されたものが公開されていたので早速、少しJoomla!1.5のテンプレート化をはかろうとテンプレートフォルダに放り込んでみました。

もちろん、それだけでは記事も何も表示されません。そのシステムの内容が表示されるだけです。

 
1 votes
Written by:Joomler! 8475 hits Wednesday, 10 December 2008 16:55

Joomla!1.5.8からでしょうか、1.5.7か1.5.6と比較するとそうでなさそうなのでたぶんそうでしょう。フロントエンドからの新規投稿時に公開終了日時が現在時刻で初期化された値がすでに表示されてしまっていて気づかずにそのまま保存すると、公開と同時に終了となってしまいます。

Joomla.orgのフォーラムでもあがっていました。Joomla!1.5.9で修正されると思います。

こういう仕様だと言われればそうなのかもしれないが、使い勝手が悪い。

なので少し変更してみました。

Root/components/com_content/views/article/tmpl/form.php

$config =& JFactory::getConfig();
$publish_up =& JFactory::getDate($this->article->publish_up);
//$publish_down =& JFactory::getDate($this->article->publish_down);
$publish_up->setOffset($config->getValue('config.offset'));
//$publish_down->setOffset($config->getValue('config.offset'));
$publish_up = $publish_up->toFormat();
//$publish_down = $publish_down->toFormat();
$publish_down = '';

上記のようにすることで解決します。

本体をさわりたくなければ、テンプレート側でオーバーライドしてやれば良いですね。

 
0 votes
Written by:Joomler! 14831 hits Friday, 14 November 2008 17:32

言われてみればその通り、関連記事モジュールには表示件数の制限が無いためたくさんヒットしたらそのまま表示されてしまいます。考えてみればこのサイトではそれだと見た目も悪くなるし、少し内容も表示したかったのでオリジナルの関連記事モジュールを作成したことを忘れていました。

とりあえず、表示件数の制限をつけることくらいは簡単なのでHackか、テンプレートでやっちゃえば簡単です。

まずは、Hackなら

$db->setQuery($query);

$db->setQuery($query, 0, 20);

のように、最初(0)から20個の記事というように20の部分に表示最大件数を入れます。自由に設定できるようにしたい場合は、

$db->setQuery($query, 0, intval($params->get('limit', 20)));

のようにし、xmlファイルのパラメータ部に

<param name="limit" type="text" size="3" label="最大件数" description="" />

などと追加すればバックエンドで最大件数が設定できるようになります。

ではテンプレート側でやるには

mod_related_items/tmpl/default.phpとindex.htmlを、使っているテンプレートフォルダ/html/mod_related_itemsにコピーします。そしてコピーしたdefault.phpを編集します。

<?php foreach ($list as $item) :	?>

<?php
$i = 0; 
foreach ($list as $item) :
 	if($i > 20){
 		break;
 	}
 	$i++;
 ?>

のようにすればOKです。

本体をHackする方法だとアップデート時に、忘れていたりしてかなり面倒になってきたりしますので、それを考慮にいれるとテンプレート側で対応する方法を行った方が良いかもしれません。

 
2 votes
Written by:Joomler! 6789 hits Wednesday, 29 October 2008 17:12

まだ、新規で構築するサイトでJoomla!1.0.xが選択されている事があるようです。それは、使えるエクステンションがJoomla!1.5と比較してダントツに多いからなのはわかっています。このサイトも1.0.xなのは自分のエクステンションがまだ、用意できていないからですし。

以下の理由でJoomla!1.5を推奨します。

理由:WEB制作会社向き

  1. コードの再利用が楽になる
    エクステンションを一度開発側に作らせておけば、以後の開発費が安く済みます。
    (うちに頼んでね・・・。)
  2. 今後または、現在出ている新しいエクステンションは、ほとんどJoomla!1.5用である
    Joomla!1.0.xを利用している限り古いコードで作成された古いエクステンションを使わざるを得ない。また、新しいサービスに対応したエクステンションが出ないかもしれない。
  3. Joomla!1.0.xより攻撃されにくい
    Joomla!1.0.xで構築しているとサードパーティーのSEFエクステンションでも導入していない限りJoomla!で構築していることが誰にでもわかってしまうので今まで公になっている穴をついた攻撃にさらされやすい。(現にこのサイトがそうである。)
  4. カスタマイズしやすい
    1.にもつながる理由ですが、エクステンション側だけでなく、テンプレート側でもかなりカスタマイズが容易なため生産性が高い。
 
<<<12>>>
1 / 2

JContentPlus for Joomla!1.5 powered by Joomler!.net

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.