Joomla 1.5 – Γράφοντας το πρώτο module μας (1ο μέρος)

Κατηγορία: How To | Tricks & Tips, Web Developing Views:

joomla-logoΜε αφορμή του φόρουμ που δημιουργησε ο φίλος μου Λάζαρου (weby) (www.joomlafans.gr) απο σήμερα θα ξεκινήσουμε μαθήματα για την επέκταση του Joomla, ώστε να βοηθήσουμε το μέλη και τους φίλους jooml!ίτες.

Θα ξεκινήσουμε την επέκταση του Joomla με την δημιοργία ενός module.

Α) Για αρχή ας ξεκινήσουμε με τα βασικά.

Κατ'αρχήν θα ηθέλα να διευκρινήσω οτι παραθέτω κάποιες γνώσεις και οτι δεν είμαι guru.Θα χαρώ πολύ να μου στείλετε τις προτάσεις σας και τις παρατηρήσεις σας.

Τα extensions τα γράφουμε σε γλώσσα php και με την βοήθεια xml δίνουμε τιμές στις μεταβλήτες (parameters) του extension μας.

Στην πραγματικότητα δεν έχουμε χρησιμοποιούμε μόνο php αλλα και html,javascirpt,css και όταν θέλουμε να τραβήξουμε δεδομένα από την βάση χρησημοποιούμε SQL.

--Τι θα χρειαστούμε

Το notepad++ (κανει highlight σε ολες τις γλώσσες και είναι εύκολο στην χρήση) καθώς και μία εγκατάσταση του Joomla 1.5.x.Για τοπική εγκατάσταση  μπορείτε με το xampp.

--Ασφάλεια

Σε κάθε αρχείο php η πρώτη γραμμή θα πρέπει να είναι η ακόλουθει η οποία δεν επιτρέπει την εκτέλεση κώδικα εκτός του joomla.

  1. <?php
  2. // No direct access
  3. defined( '_JEXEC' ) or die( 'Restricted access' );

--Το project μας

Σκέφτηκα να κάνουμε ενα module το οποίο θα κάνει scrolling εικόνες με link (πχ bannerakia συνεργάτων). Για αρχή,θα το κάνουμε να ορίζει ο χρήστης είκονα-link,ταχύτητα,width/ height & ταχύτητα του scroller. Αργότερα, θα αναπροσαρμόσουμε το project μας ώστε να bannerakia να τα "τραβάει" από το com_banner του joomla.Εκεί θα χρησιμοποιήσουμε και sql.

B) Δημιουργόντας τα απαραίτητα αρχεία.

Ας ονομάσουμε το project μας bannerscroll. Το πλήρες όνομα του extension ξεκινάει με το πρόθεμα mod_ για modules και com_ compoments. Στην περίπτωση μας το πλήρες όνομα είναι mod_bannerscroll

Δημιουργόυμε τα 2 απαραίτητα αρχεία
mod_bannerscroll.php
mod_bannerscroll.xml

mod_bannerscroll.php

  1. <?php
  2. defined( '_JEXEC' ) or die( 'Restricted access' );
  3.  
  4. //Get Parameters from xml
  5. $image1=$params->get('image1', '');
  6. $image2=$params->get('image2', '');
  7. $image3=$params->get('image3', '');
  8. $image4=$params->get('image4', '');
  9.  
  10. $link1=$params->get('link1', '');
  11. $link2=$params->get('link2', '');
  12. $link3=$params->get('link3', '');
  13. $link4=$params->get('link4', '');
  14.  
  15. $width=$params->get('width', '100%');
  16. $height=$params->get('height', '200');
  17. $direction=$params->get('direction', 'up');
  18. $speed=$params->get('speed', '10');
  19.  
  20. //Start Programm
  21. ?>

mod_bannerscroll.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <install type="module" version="1.5.0">
  3. <name>Banner Scroll</name>
  4. <author>TechTips Blog</author>
  5. <creationDate>Semptember 2009</creationDate>
  6. <copyright>Copyright (C) 2009 - TechTips.gr</copyright>
  7. <license>http://www.gnu.org/copyleft/gpl.html</license>
  8. <authorEmail>info_@_techtips.gr</authorEmail>
  9. <authorUrl>www.web-expert.gr</authorUrl>
  10. <version>1.0</version>
  11. <description>Banner Scroll module</description>
  12. <files>
  13. <filename module="mod_bannerscroll">mod_bannerscroll.php</filename>
  14. </files>
  15. <params>
  16.  
  17. <param name="image1" type="text" default="" label="Image 1"
  18. description="Image file url" />
  19. <param name="image2" type="text" default="" label="Image 2"
  20. description="Image file url" />
  21. <param name="image3" type="text" default="" label="Image 3"
  22. description="Image file url" />
  23. <param name="image4" type="text" default="" label="Image 4"
  24. description="Image file url" />
  25.  
  26. <param name="link1" type="text" default="" label="Link 1"
  27. description="Link url" />
  28. <param name="link2" type="text" default="" label="Link 2"
  29. description="Link url" />
  30. <param name="link3" type="text" default="" label="Link 3"
  31. description="Link url" />
  32. <param name="link4" type="text" default="" label="Link 4"
  33. description="Link url" />
  34.  
  35. <param name="direction" type="radio" default="up" label="Direction"
  36. description="Scroll direction">
  37. <option value="up">Up</option>
  38. <option value="down">Down</option>
  39. <option value="right">Right</option>
  40. <option value="left">Left</option>
  41. </param>
  42. <param name="width" type="text" default="100%" label="Width"
  43. description="Width for scrolling area" />
  44. <param name="height" type="text" default="200" label="Heigth"
  45. description="Heigth for scrolling area" />
  46. <param name="speed" type="text" default="6" label="Speed"
  47. description="Scrolling Speed 1 slow Default is 6" />
  48. </params>
  49. </install>

default - είναι η προκαθορισμένη τιμή που θα έχει η μεταβλητή στις παραμέτρους του module

label - είναι το όνομα που θα εμφανίζεται δίπλα απ το κουτάκι εισαγωγής.

name - πολύ σημαντικό,εκει βάζουμε το όνομα κάθε μιας μεταβλητής που δηλώσαμε στο php αρχείο.Πχ στο get('image1', ''); θα αντιστιχοιθεί η το πεδίο

  1. <param name="image1" type="text" default="" label="Image 1"
  2. description="Image file url" />

Περισσότερα στο 2ο μέρος!Ελπίζω να βρήσκετε χρήσιμη την προσπάθεια αυτή.

Joomla 1.5 - Γράφαντας το πρώτο module μας (1ο μέρος)

Joomla 1.5 - Γράφαντας το πρώτο module μας (2ο μέρος)

Joomla 1.5 - Γράφαντας το πρώτο module μας (3ο μέρος)

Το άρθρο γράφτηκε απο τον Στέργιο Ζγουλέτα / web-expert.gr

` Ετικέτες: , , , , ,

Comments are closed.