Home 技術関連情報 Joomla Joomla! 1.5のコンポーネント作成 - 各ファイルの説明
Joomla! 1.5のコンポーネント作成 - 各ファイルの説明 PDF 印刷 Eメール
作者 熊川 勝   
2008年06月 12日(木曜日) 21:21
記事索引
Joomla! 1.5のコンポーネント作成
各ファイルの説明
全てのページ

 ● 各ファイルの説明

● [Conponent Root]/joomlatest.xmlの内容
インストールの時に利用するファイルになります。ここに書いたJoomlaTestがその後に出てくるものと同じにする必要があります
このファイルのファイル名は、特に関係なさそうですが、合わせた方が無難の様です


<?xml version="1.0" encoding="utf-8"?>
<install type="component" version="1.5.0">
    <name>JoomlaTest</name>
    <author>Masaru Kumakawa</author>
    <creationDate>Jun 2008</creationDate>
    <copyright>(C) 2008 HSB. All rights reserved.</copyright>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <authorEmail> このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にして下さい </authorEmail>
    <authorUrl>www.hhsb.jp</authorUrl>
    <version>1.5.0</version>
    <description>Joomla! 1.5 Componet Test</description>
    <files>
        <filename>index.html</filename>
        <filename>joomlatest.php</filename>
        <filename>controller.php</filename>
        <folder>views</folder>
    </files>
    <administration>
    </administration>
</install>
なお、今回のサンプルは、管理側の画面を入れていないので、<administrator>の部分を空にしてありますが、この部分が無いとインストール時にエラーとなります

 

● [Conponent Root]/index.htmlの内容
※このファイルはダミーのため、置くのみで問題ありません


<html><body bgcolor="#FFFFFF"></body></html>

 

● [Conponent Root]/controller.phpの内容
このファイルが処理の中心になるファイルの様です


<?php
defined('_JEXEC') or die( 'Restricted access' );
jimport('joomla.application.component.controller');
class JoomlaTest Controller extends JController
{
    function display()
    {
        parent::display();
    }
}
?>

 

● [Conponent Root]/joomlatest.phpの内容
初期処理などを書いている様です


<?php
defined('_JEXEC') or die('Restricted access');
require_once (JPATH_COMPONENT.DS.'controller.php');
$controller = new JoomlaTest Controller();
$controller->execute( JRequest::getCmd('task'));
$controller->redirect();
 

 

● [Conponent Root]/router.phpの内容
このファイルは、サーチエンジンフレンドリーURLなどを利用する場合に必要となります。使わない場合はファイルそのものが不要です


<?php
function JoomlaTest BuildRoute(&$query)
{
    $segments = array();
    var_export($query);
    if (isset($query['view'])) {
        unset($query['view']);
    }
    return $segments;
}

function JoomlaTest ParseRoute($segments)
{
    var_export($segments);
    $vars = array();
    $vars['view'] = 'test';
    return $vars;
}
?>

 

● [Conponent Root]/views/index.htmlの内容
※このファイルはダミーのため、置くのみで問題ありません


<html><body bgcolor="#FFFFFF"></body></html>

 

● [Conponent Root]/views/test/index.htmlの内容
※このファイルはダミーのため、置くのみで問題ありません


<html><body bgcolor="#FFFFFF"></body></html>

 

● [Conponent Root]/views/test/view.html.phpの内容
画面の表示の際に呼ばれます。表示するデータの検索などはこのタイミングで行う様です


<?php
defined('_JEXEC') or die( 'Restricted access' );
jimport( 'joomla.application.component.view');
class JoomlaTestViewTest extends JView
{
    function display($tpl = null)
    {
        parent::display($tpl);
    }
}

 

● [Conponent Root]/views/test/metadata.xmlの内容
ビューの定義をここで行うようです


<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <view title="Test">
        <message><![CDATA[TYPESEARCHDESC]]></message>
    </view>
</metadata>

 

● [Conponent Root]/views/test/tmpl/index.htmlの内容
※このファイルはダミーのため、置くのみで問題ありません


<html><body bgcolor="#FFFFFF"></body></html>

 

● [Conponent Root]/views/test/tmpl/default.phpの内容
このファイルがテンプレートになります。特に指定が無い場合は、default.phpが呼ばれる様です


<?php defined('_JEXEC') or die('Restricted access'); ?>
Joomla! Test Component!

 

● [Conponent Root]/views/test/tmpl/default.xmlの内容
このファイルがテンプレートの設定などを保存している様です


<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="Test">
        <message>
            <![CDATA[JOOMLA 1.5 COMPONENT TEST]]>
        </message>
    </layout>
    <state>
        <name>Joomla! Test</name>
        <description>Joomla! 1.5 Component Test</description>
    </state>
</metadata>

こちらからダウンロードできます



LAST_UPDATED2
 
HSB WebSite - フリーITエンジニア 熊川のWebSite -, Powered by Joomla! and designed by SiteGround web hosting