Search

Visitors Counter

TodayToday9
YesterdayYesterday53
This_WeekThis_Week108
This_MonthThis_Month1496
All_DaysAll_Days135259
Your_IP 34.201.9.19

Dziś zagłębiłem się trochę w świat Joomli. Stworzyłem swój komponent do wyświetlania dnia tygodnia, daty oraz solenizantów imieninowych. Nie jest to takie trudne jak by się wydawało. Najpierw z jakiejś strony ściągnąłem listę imion posegregowanych według kolejnych dni tygodnia. Listę tą wkleiłem do arkusza kalkulacyjnego, żebym łatwo mógł ją wyedytować. Edycja polegała na przypisaniu do dwuwymiarowej tablicy imion z poszczególnych dni.

Tak wygląda dzień 2 stycznia. $imieniny[1][2]=""Makary, Izydor, Grzegorz"; Przeciągając odpowiednie numerki stworzenie 366 elementów nie zajęło mi więcej jak 5 minut. 

Następnym elementem było stworzenie pliku modułu z rozszerzeniem php. Opiszę poniżej co się w nim znajduje

<?php //początek pliku

defined('_JEXEC') or die('Direct Access to this location is not allowed.'); //w Joomli do wszystkiego odwołujemy się poprzez plik index.php. Jeżeli ktoś próbuje odwołać się do jakiegoś pliku bezpośrednio - DIE die DIE

$dzien = date("j");  //dla przejrzystości kodu do kolejnych zmiennych pobieramy aktualną datę

$miesiac = date("m"); 

$rok = date("Y"); 

$dayname = date("w");

$imieniny[1][1]="Mieczysław, Wilhelm, Mieszko";

$imieniny[1][2]="Makary, Izydor, Grzegorz";

.... //nie będę wklejał tu wszystkich dni. Wcześniej zostało napisane co przyjmują te zmienne.

//czas na wyświetlenie zebranych danych. Podzieliłem je na 2 części - data i imieniny. Obie części wrzuciłem w div-y, które przypisałem do różnych klas CSS abym mógł kontrolować ich wygląd niezależnie

print '<div class="mod_dzien">'; 

print 'Dziś mamy '.$dayname.'<br>';

print $dzien.' '.$miesiac.' '.$rok.'<br><br>';

print '</div>';

print '<div class="mod_imieniny">';

print 'Imieniny obchodzą<br>'.$imieniny[date("n",time())][date("j",time())];

print '</div>';

?> // i to by było na tyle pliku mod_start.php

 

Kolejnym plikiem który zawiera mój moduł jest plik index.html - przyjęło się, że umieszcza się go w każdym katalogu Joomli. Plik ten zawiera tylko jedną linijkę kodu <html><body bgcolor=”#ffffff”></body></html>

Ostatnim z plików jest plik xml zawierający informację dla instalatora

<?xml version="1.0" encoding="utf-8"?> //rodzaj kodowania znaków

// w przypadku starszych wersji Joomla //<install type="module" version="1.5.0"> //wersja Jommli z którą ten moduł jest kompatybilny

<extension version="3.0" type="template" client="site">

<name>Start</name> //nazwa modułu

<author>Kamil</author> //nazwa autora

<creationDate>2012</creationDate> //data utworzenia

<copyright>firma</copyright> //prawa

<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license> //licencja

<authorEmail>email</authorEmail> //adres email

<authorUrl>strona.pl</authorUrl> //strona WWW

<version>1.5.0</version> //wersja modułu

<description>Moduł wyświetlający informację o dniu tygodnia, dacie i imieninach</description> //opis modułu wyświetlany w panelu administracyjnym

<files> //lista plików które instalator ma zainstalować

<filename module="mod_start">mod_start.php</filename>

<filename module="mod_start">index.html</filename>

</files>

</extension>

 

I to by było na tyle. Całość pakujemy w katalog, zipujemy i wgrywamy do Joomli. Następnie w menu rozszerzenia/moduły ustawiamy pozycję wyświetlania, stronach na których nasz moduł ma się wyświetlać oraz włączamy publikację. 

 

Z uwagi, że dziś walczyłem z blogiem drogizycia.tk a konkretnie z paginacją zamieszczę jeszcze kilka informacji

 

Zmiana paginacji w szablonie jest możliwa poprzez przekopiowanie pliku public_html/libraries/joomla/html/pagination.php do katalogu public_html/templates/drogazycia.tk/html naszej templatki a następnie jego edycja. Jeżeli chcemy prze edytować napisy "poprz." "nast." możemy to zrobić w pliku /public_html/language/pl-PL

 

 

Pierwsze post opisujące zagadnienia techniczne będą mówiły o problemach napotkanych podczas realizacji tej strony.

Strona ta jest oparta o CMS Joomla. Nie jest on do końca przystosowany aby pełnić funkcję bloga. Poszukiwania odpowiednich rozszerzeń postawiły pytanie czy nie lepiej do tego celu użyć Wordpress-a. Moja znajomość Joomli jednak wygrała i w ostatecznym rozrachunku postawiłem na nią. Dodataki ułatwiające blogowanie są przeważnie płatne. Te bezpłatne oferują bardzo mała funkcjonalność. Znalazłem darmowe rozszerzenie K2, które ułatwiło przystosowanie Joomli do nowej funkcji. Poniżej przestawaiam listę pakietów, które postanowiłem zainstalować

Joomla_2.5.1-Stable-Full_Package.zip http://www.joomla.pl/ Pakiet joomla - dla przypomnienia w celu szybszej instalacji kopiujemy na serwer plik zip i poprzez konsole rozpakowywujemy

pl-PL_joomla_lang_full_2.5.1.zip.zip http://www.joomla.pl/ Spolszczenie pakietu Joomla

 

K2_v2.5.4.zip http://getk2.org Roszerzenie Joomli o możliwości blogowania, łatwiejszego wstawiania obrazów i przesyłania plików.

k2_pl-PL_language_pack.zip http://getk2.org Spolszczenie K2

mod_minicalendar_3.02.01.zip http://extensions.lesarbresdesign.info/extensions/mini-calendar Mini kalendarz. Bez linkowy, ale bardzo prosty.

nivo-slider2.7.1.zip http://cloud.github.com/downloads/gilbitron/Nivo-Slider/nivo-slider2.7.1.zip Roszerzenie pozwalające na wyświetlanie pokazu slajdów z efektownym przejściem - zainstalowane w templatce

noticeboard_pack_2_x_1.zip http://www.code-garage.com/downloads/noticeboard-pack/2_X_1/noticeboard_pack_2_x_1zip?format=raw Przypominajka umieszczona z lewej strony strony.

Startuje moja prywatna strona, na której będę zamieszczał wszystko co przyjdzie mi do głowy, czyli to czym się aktualnie zajmuję.

Na wstępie chciałbym zaznaczyć, że strona ta jest przeznaczona przede wszystkim na moje potrzeby. Proszę więc nie oczekiwać, że posty będą dla wszystkich jasne i zrozumiałe. Wykonanie tej strony, oraz jej aktualizacja ma posłużyć jako swoisty pamiętnik techniczny zawierający niuansy realizowanych projektów i tego co mi w tym czasie do go głowy przyszło. Jej celem jest zwrócenie mojej uwagi na pułapki napotkane podczas tych realizacji oraz wyciągnięcie wniosków na przyszłe.