Dodatki Joomla.pl

dodatki joomla, dodatki virtuemart

Szukaj

Witaj świecie!



Hello World

Witaj świecie 2!

 Losowi użytkownicy Hello World2
  • test testowy jest losowo wybranym użytkownikiem
  • Łukasz jest losowo wybranym użytkownikiem
Tutorial: Tworzenie modułu Joomla 1.5 cz. 1 PDF Drukuj Email
Wpisał Łukasz   
Niedziela, 03. Październik 2010 20:14

W poniższym artykule postaram się jasno przedstawić techniki potrzebne do stworzenia własnego modułu dla Joomla (wersja 1.5).

Tutorial został podzielony na dwie części, w pierwszej będziemy pisać podstawowy moduł, który będzie pracował z Joomlą, a w drugiej (tworzenie modułu joomla część 2), jego rozbudowaną wersję.

 

Podstawowy moduł Hello World

Do stworzenia najprostszego modułu dla Joomli będą potrzebne nam dwa pliki: plik konfiguracyjny xml, oraz plik wykonawczy php.

Plik XML zawiera ogólne informacje na temat modułu (które będą widoczne w menadżerze modułów w panelu zarządzania Joomlą), oraz parametry modułu, czyli opcje, które będą pozwalały nam na zmianę ustawień naszego modułu (parametry to te dodatkowe inputy i checkboxy w miejscu w którym zarządzamy modułem).

Plik php wprowadza logikę sterowania dla modułu.

Używamy najprostszego edytora który mamy pod ręką (może być nawet windowsowy notatnik, choć ja polecam Notepad++, dlaczego? ponieważ obsługuje format kodowania "UTF-8 bez BOM", wyjaśnienie poniżej) i tworzymy nasze dwa pliki.

Prosty moduł „Hello World” może wyglądać następująco:

 

UWAGA!!! Zwróć uwagę na to aby nazwa pliku XML posiadała nazwę modułu. W innym wypadku, instalator zainstaluje moduł, ale Joomla nie pokaże nam dodatkowych informacji i parametrów zawartych w pliku XML. Odradzam stosowania polskich znaków.

UWAGA!!! Pamiętaj aby wszystkie twoje pliki posiadały formatowanie utf-8, w przeciwnym razie instalator Joomla nie zainstaluje twojego modułu (błędy związane z kodowaniem i polskimi znakami)!

Dodatkowo, jeśli chodzi o same pliki php - należy zapisywać je w formacie utf-8 non BOM (bez BOM). BOM to krótki ciąg znaków dodawany domyślnie na samym początku plików z kodowaniem utf-8. Odpowiada on m.in za interpretację znaków w pliku. Niestety dla skryptów php potrafi być zabójczy (np. sesje w php + plik utf-8 z BOM). W Joomli BOM na początku pliku php będzie dodawał dziwną "pusta linię" (wygląda jak zwykły <br>). Na szczęście edytor Notepad++ posiada możliwość wyłaczenia tych kilku bajtów w formacie utf-8 - wystarczy z listy formatów wybrać kodowanie pliku utf-8 bez BOM. Windowsowy notatnik nie posiada takiej funkcji!

 

mod_hello_world.xml

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<!-- Nazwa modułu -->
<name>Hello World - Hello</name>
<!-- Autor -->
<author>Joomcode</author>
<!-- Data wydania -->
<creationDate>2008-06-23</creationDate>
<!-- Prawa autorskie -->
<copyright>Joomcode</copyright>
<!-- Licencja  -->
<license>GPL 2.0</license>
<!-- E-mail autora -->
<authoremail></authoremail>
<!-- Strona autora -->
<authorUrl>www.joomcode.net</authorUrl>
<!-- Wersja modułu -->
<version>1.0.0</version>
<!-- Opis tego co robi moduł -->
<description>Wyświetlenie "hello world"</description>
<!-- Lista wszystkich plików potrzebnych do właściwego działania modułu -->
<files>
<!-- Atrybut "module" informuje że dany plik jest plikiem sterującym -->
<filename module="mod_hello_world">mod_hello_world.php</filename>
<filename>index.html</filename>
</files>
<!-- Opcjonalne parametry -->
<params />
</install>

Powyższy plik XML, jak widzimy, posiada podstawowe informacje na temat modułu, takie jak autor, wersja modułu itp. wymagane przez instalator Joomla. 

Dodatkowo, kod XML mówi instalatorowi Joomla, które pliki mają być skopiowane i zainstalowane na serwerze. Zauważ że w sekcji „files”, czyli tej w której powinny się znajdywać kopiowane pliki, NIE UMIESZCZAMY nazwy naszego pliku XML.

 

mod_hello_world.php

<?php
//nie pozwól innym skryptom na dostęp do pliku, używaj zawsze poniższego kodu w celu zabezpieczenia swoich dodatków
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
?>
<p>
Hello World
</p>

Co stanie się kiedy powyższy moduł zostanie utworzony i umieszczony na jednej z pozycji naszej templatki? Plik php zostanie zaincludowany do kodu strony i nasz moduł będzie wyświetlał od tej chwili: „Witaj świecie”, w miejscu w którym ustawiliśmy jego pozycję.

 

index.html

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

Powyższy kod pozwala zabezpieczyć zawartość katalogu naszego modułu na serwerze. Źle skonfigurowany serwer może wylistować nam w przeglądarce pliki, które znajdują się w określonym katalogu. Plik index.html o praktycznie zerowej zawartości zapobiegnie takiej praktyce.



Teraz nasze 3 pliki pakujemy do archiwum o rozszerzeniu .zip i nazwiemy je „mod_hello_world”.

Gotowy plik mod_hello_world.zip możemy załadować w instalatorze Joomla i cieszyć się z własnoręcznego modułu.

 

Poniżej link do pobrania modułu:

 

Pobierz mod_hello_world.zip     


 

Komentarze  

 
+2 #2 Batman 2011-10-21 08:40
Instruktarz bardzo dobry, niemniej wydaje mi się, że warto wspomnieć o jednej bardzo istotnej rzeczy dotyczącej zabezpieczenia zawartości kodu.
Otóż jeżeli napiszemy moduł i udostępnimy go dla użytku publicznego, to raczej nie martwimy się o to, czy ktoś podejrzy nasz moduł, bo i tak go upubliczniamy.
Natomiast gdy taki moduł piszemy dla własnego użytku, umieszczając go na własnej stronie / serwisie, moim zdaniem dużo lepszym zabezpieczeniem jest umieszczenie pliku .htaccess z wpisem Options -Indexes w głównym folderze projektu. Dzięki temu cały nasz serwis będzie zabezpieczony przed wglądem w strukturę folderów i plików naszego serwisu.
Cytować
 
 
0 #1 arbuz 2011-02-18 13:22
Dzięki za tego tutka!
Cytować
 

Dodaj komentarz


Joomla Templates by Joomlashack