dr inż. Piotr Czapiewski
Systemy zarządzania treścią
Laboratorium 5
Strona 1
Joomla! – tworzenie modułów
Cel ćwiczenia:
Stworzenie prostego modułu wyświetlającego dane pobrane z zewnętrznej strony WWW.
Moduł Hello World
1.
Przygotowanie plików modułu
•
Stwórz w dowolnym miejscu katalog
mod_helloworld
•
W katalogu
mod_helloworld
stwórz główny plik modułu:
mod_helloworld.php
<?php
defined( '_JEXEC' ) or die( 'Dostep zabroniony!' );
echo JText::_( 'Hello World!' );
?>
•
W katalogu mod_helloworld stwórz plik deskryptora modułu: mod_helloworld.xml
<?xml version="1.0" encoding="Windows-1250"?>
<install type="module" version="1.5.0">
<name>Hello World</name>
<author>Jan Kowalski</author>
<creationDate>Listopad 2008</creationDate>
<copyright>(C) 2008 Jan Kowalski</copyright>
<license>GNU/GPL</license>
<authorEmail>jasio@jasiokowalski.pl</authorEmail>
<authorUrl>www.jasiokowalski.pl</authorUrl>
<version>1.0.0</version>
<description>Moduł Hello World</description>
<files>
<filename module="mod_helloworld">mod_helloworld.php</filename>
</files>
</install>
2.
Instalacja modułu
•
Spakuj katalog mod_helloworld do archiwum mod_helloworld.zip
•
Zainstaluj moduł przez panel administracyjny Joomla!
•
Dodaj nowy moduł na pozycji top (Rozszerzenia->Moduły->Nowy->Hello World, Pozycja=top)
Moduł bash.org.pl
1.
Przygotowanie plików modułu
•
Tak jak w poprzednim ćwiczeniu - stwórz katalog
mod_bash
, w nim pliki
mod_bash.php
oraz
mod_bash.xml
•
W pliku mod_bash.php umieść kod pobierający tekst z serwera bash.org.pl:
dr inż. Piotr Czapiewski
Systemy zarządzania treścią
Laboratorium 5
Strona 2
<?php
defined('_JEXEC') or die( 'Dostep zabroniony!' );
$ch = curl_init('http://bash.org.pl/latest/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($ch);
curl_close($ch);
$pattern =
'#<div class="quote post-content post-body">(.*?)</div>.*#s';
preg_match($pattern, $page, $out);
$msg = trim($out[1]);
echo $msg;
?>
•
Uzupełnij odpowiednio plik deskryptora modułu, mod_bash.xml
2.
Instalacja modułu
•
Spakuj moduł do archiwum zip i zainstaluj przez panel administracyjny Joomla!
•
Dodaj nowy moduł na pozycji top, wyłącz wyświetlanie modułu mod_helloworld
Moduł Dilbert
1.
Przygotowanie modułu
Analogicznie jak w poprzednim punkcie, przygotuj moduł mod_dilbert. W stosunku do modułu
mod_bash zmieni się część kodu PHP wycinająca odpowiedni fragment kodu HTML pobranej
strony:
<?php
defined('_JEXEC') or die( 'Dostep zabroniony!' );
$ch = curl_init('http://dilbert.com/strips/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($ch);
curl_close($ch);
$pattern = '#<div class="STR_Image">.*?<img
src="(.*?)".*#s';
preg_match($pattern, $page, $out);
$img = '<img src="http://dilbert.com/' . $out[1] . '" />';
echo $img;
?>
2.
Instalacja modułu
Zainstaluj moduł i umieść na pozycji user1. Wyłącz inne moduły wyświetlane na pozycjach user1 i
user2.