Denne opplæringen vil dekke prosessen med å opprette en grunnleggende Joomla-modul fra en eksisterende widget. Vi skal ta en widget fra Mixcloud, lære å konvertere den til en Joomla-modul, og til slutt distribuere utvidelsen til JED (Joomla Extension Directory).
Hvis du aldri har opprettet en Joomla-modul før, er denne artikkelen det beste stedet å starte!
For hver modul som er opprettet for Joomla, er det to filer som absolutt må være til stede. En fil er en konfigurasjons XML-fil som vil holde modulens detaljer og parametere og en PHP-fil som styrer modulen vår. I denne veiledningen vil vi opprette en mappe som heter mod_mixcloud_widget
og, innenfor det, ved å bruke din favorittkodeditor, opprett mod_mixcloud_widget.php
og mod_mixcloud_widget.xml
. Før vi går videre til neste trinn, opprett en enkelt HTML-fil som heter index.html
.De index.html
fil som ble opprettet vil bli brukt til å skjule innholdet i modulmappen når du ser via en nettleser.
Nå som du har lagt til kjernefiler, er det på tide å legge til malfiler. Vi gjør dette ved å opprette en mappe som heter tmpl
. Innenfor den mappen oppretter vi default.php
og index.html
. Filen default.php
vil være modulmalen som vil ta generert informasjon og sende dem inn i rent HTML-format på siden.
Til slutt, mens du er inne i rotmodulmappen, oppretter vi en ny mappe som heter Språk
. Denne mappen har to filer: en-GB.mod_mixcloud_widget.ini
og en-GB.mod_mixcloud_widget.sys.ini
som vil bli brukt til å gjøre vår modul internasjonal med muligheten til å ha forskjellige språk.
Etter hvert trinn bør du ha følgende filstruktur
Hver Joomla Extension installert har en XML-fil, som refereres til som a manifest eller Installere fil. Denne filen inneholder metadata detaljer, for eksempel forfatter, versjon, beskrivelse etc. Det brukes også som en konfigurasjonsfil for modulprameters. I denne veiledningen skal vi opprette en manifestfil for en Joomla 2.5-modul. Legg til følgende utdrag i XML-filen din.
MOD_MIXCLOUD_WIDGET B4ucode Mai 2012 Opphavsrett (C) 2011 - 2012. Alle rettigheter reservert. GNU General Public License versjon 2 eller senere; [email protected] www.b4ucode.com 1.0.0 MOD_MIXCLOUD_WIDGET_XML_DESCRIPTION
Primæretiketten forlengelse
har noen egenskaper:
modul
.ny
og Oppgradering
. Vi skal bruke oppgradering, i tilfelle eventuelle fremtidige oppdateringer til modulen, vil den bare oppgradere det som er tilgjengelig der.Det andre settet med tagger er metadatakoder som inneholder informasjon om modulen som skal brukes under installasjon og administrasjon av modulen.
Som nevnt før, inneholder manifestfilen informasjon om filene som brukes i modulen. Under installasjonen kontrollerer Joomla manifestfilen for alle filene som skal legges til systemet. Hvis noen av filene mangler, vil Joomla gi en feil som forklarer filene som mangler. Eventuelle filer som finnes i modulen, som ikke er oppført i XML-filen, blir ikke lagt til systemet med de andre. Legg til følgende utdrag i manifestfilen din.
mod_mixcloud_widget.php tmpl index.html mod_mixcloud_widget.xml
I stedet for å skrive en linje for hver fil i en mappe, bruker vi bare mappeelementet. Dette elementet vil instruere installasjonsprogrammet om å installere alle filene i denne mappen.
Dette elementet inneholder språkfiler som skal installeres med modulen. I denne veiledningen vil bare ett språk bli brukt. Når det er flere språk, kan du bare endre prefikset for filene og taggattributtet til det eksakte språket basert på Joomla-rammen.
språk / en-GB.mod_mixcloud_widget.ini språk / en-GB.mod_mixcloud_widget.sys.ini
Noen utvidelser fungerer ikke rett ut av boksen, men trenger visse innstillinger som er lagt til: Disse innstillingene kalles, parametere og er definert i manifestfilen.
Det første elementet er config
som inneholder andre elementer som vil bli vist i HTML-format. Elementet heter felt
er kjøttet i våre parametere hvor du kan definere hvilken type skjemadata du ønsker å vise. Dette elementet på grunnleggende nivå består av noen kjernekriterier:
Det er forskjellige attributter da de varierer per feltfeltype som størrelse, filter, ekskluder, katalog og mer.
Du kan merke at vi har skrevet etiketter og beskrivelse i noen store bokstaver som
MOD_MIXCLOUD_WIDGET_FEED_TITLE
. Dette er strenger som vi vil gjøre oversetterlig når du lager våre språkfiler.
Hvis du har fulgt så langt, bør du ha en ferdig XML-fil som følger
MOD_MIXCLOUD_WIDGET B4ucode Mai 2012 Copyright (C) 2011 - 2012 Open Source Matters. Alle rettigheter reservert. GNU General Public License versjon 2 eller senere; [email protected] www.b4ucode.com 1.0.0 MOD_MIXCLOUD_WIDGET_XML_DESCRIPTION mod_mixcloud_widget.php tmpl index.html mod_mixcloud_widget.xml språk / en-GB.mod_mixcloud_widget.ini språk / en-GB.mod_mixcloud_widget.sys.ini
mod_mixcloud_widget.php
Det første du vil ha med modulen din er å legge til din opphavsrettsmelding. Hvis du har tenkt å sende inn modulen din til JED [Joomla Extension Directory], bør du legge til noen GPL-lisensinformasjon.
Dette er en av kontrollene som er gjort før du godkjenner en modul i katalogen. Rett under dette bruker jeg setningen definert ('_ JEXEC') eller dø;
som brukes i de fleste PHP-filer for å beskytte mot hackere. Dette er også et annet krav til godkjenning på JED.
Deretter definerer vi parametrene som variabler. Utviklere definerer noen ganger parametrene som variabler for å få renere malfiler. For å ringe en paramatere bruker vi
$ Params-> get ()
funksjon og få paramNavn
definert i vår manifestfil. Til slutt, vi kaller modulen Helper-funksjonen,getLayoutPath
, som vil gjøre vår modul mal. Det første argumentet til funksjonen tar modulnavnet som vi prøver å ringe, og det andre argumentet ser etter den malen vi skal gjengi for den modulen. I dette tilfellet får vi parameterenoppsett
og i det andre argumentet angir vi standardoppsettetmisligholde
. Denne oppsettet er det eksakte navnet på filen vi har i vårtmpl
mappe.$ width = $ params-> get ('width', 300); $ height = $ params-> get ('height', 300); $ feed = $ params-> get ('feed'); $ color = $ params-> get ('color'); $ moduleclass_sfx = htmlspecialchars ($ params-> get ('moduleclass_sfx')); krever JmoduleHelper :: getLayoutPath ('mod_mixcloud_widget', $ params-> get ('layout', 'default')); ?>Ferdig fil
få ( 'bredde, 300); $ height = $ params-> get ('height', 300); $ feed = $ params-> get ('feed'); $ color = $ params-> get ('color'); $ moduleclass_sfx = htmlspecialchars ($ params-> get ('moduleclass_sfx')); krever JmoduleHelper :: getLayoutPath ('mod_mixcloud_widget', $ params-> get ('layout', 'default')); ?>
Trinn 4: Opprette
default.php
På dette tidspunktet har vi opprettet vår manifestfil med paramatere, tok de samme parametrene og gjort dem til variabler. I dette trinnet skal vi bruke disse variablene i vår malfil. Malen filen vil gjengi all vår HTML for modulen. Redigere
default.php
fra dintmpl
mappe og legg til følgende utdrag:Opphavsrett og begrenset tilgangsskript
Det anbefales at du legger til copyright-merknaden og begrenset tilgangslinjen til PHP-filene dine.
Legge til vår HTML
For denne opplæringen trenger vi innebygningskoden fra Mixcloud. Her er et eksempel på å få koden. Målet for vår modul er å gjøre koden gjenbrukbar uten å måtte legge inn embedet hver gang vi ønsker å opprette eller modifisere en Mixcloud Widget på vårt nettsted. Standard-innebygningskoden kommer med litt ekstra informasjon om widgetinnholdet som vi ikke trenger. Så for denne opplæringen har jeg fjernet den til bare innebygd skript. Lim inn denne innebygde koden til din
default.php
fil.Gjør skriptet konfigurerbart
Hvis vi ønsket å legge inn en widget permanent, kunne vi bare zip-modulen akkurat nå. Men det gjør vi ikke, så vi skal erstatte noen av attributter med modulmodulene våre. Vi skal forandre
bredde
,høyde
,farge
ogmate
. Lim inn følgende utdrag over ditt innebygde skript.Legg merke til hvordan vi bare ringer variablene fra vår kontrollerfil.
Trinn 5: Opprette språkfiler
I trinn ett har du kanskje lagt merke til at vi opprettet en mappe, kalt språk, med to filer. Så, i trinn to, lagde vi litt oversettbar tekst. I denne delen skal vi oversette teksten til engelsk. Sett inn følgende utdrag til ini-filene,
en-GB.mod_mixcloud_widget.sys.ini
ogen-GB.mod_mixcloud_widget.ini
.; B4ucode; Opphavsrett (C) 2011 - 2012 B4ucode. Alle rettigheter reservert. ; Lisens GNU General Public License versjon 2 eller nyere; ; Merk: Alle INI filer må lagres som UTF-8 - No BOM MOD_MIXCLOUD_WIDGET = "Mixcloud Widget" MOD_MIXCLOUD_WIDGET_XML_DESCRIPTION = "Denne modulen viser Mixcloud Widget bruke fôr og andre paramaters" MOD_MIXCLOUD_WIDGET_ITEMS_LAYOUT_DEFAULT = "Default" MOD_MIXCLOUD_WIDGET_FEED_TITLE = "feed Url" MOD_MIXCLOUD_WIDGET_FEED_DESC = "Legg linken til single / Cloudcast" MOD_MIXCLOUD_WIDGET_COLOR_TITLE = "Color" MOD_MIXCLOUD_WIDGET_COLOR_DESC = "Legg Style farge" MOD_MIXCLOUD_WIDGET_WIDTH_TITLE = "Bredde" MOD_MIXCLOUD_WIDGET_WIDTH_DESCRIPTION = "Bredde på Widget" MOD_MIXCLOUD_WIDGET_HEIGHT_TITLE = "Høyde" MOD_MIXCLOUD_WIDGET_HEIGHT_DESCRIPTION = "høyde Widget"Hvis du ser nøye ut, vil du legge merke til at teksten jeg brukte for parameterne nå har en engelsk oversettelse. Du kan legge til andre filer og opprette oversettelser på andre språk!
Trinn 6: Emballasje av modulen
Etter å ha fulgt alle trinnene grundig, er modulen din nå installerbar, men vi vil gjerne lage en sjekkliste over ting å gjøre før installasjon og distribusjon.
Legg til
index.html
til mapperDet anbefales at du legger til en
index.html
filen til hver mappe. Denne filen, som tidligere nevnt, stopper brukere fra å se innholdet i en modulmappe direkte i en nettleser. Legg til følgende utdrag i filene dine:Sammenligning av vår filstruktur til den manifeste filen
På dette stadiet anbefales det at du ser på filene og mappen som er definert i manifestfilen din, og sørg for at de finnes i modulmappen din. Enhver fil som ikke eksisterer kan stoppe installatøren fra å installere filer, eller det kan kaste en feil.
emballasje
Etter vår lille sjekkliste kan vi pakke modulen inn i en zip-fil, og installer den.
Ved å navigere til moduladministratoren og velge modulen kan du endre parametrene med ønsket bredde-, høyde-, farge- og sangmate.
Aktiver modulen og sjekk for å se om den fungerer som den skal.
Trinn 7: Sender til JED
Finne kategorien
Etter å ha registrert deg for JED, er en av de viktigste tingene å merke seg at du ikke kan legge til en utvidelse til flere seksjoner. Så, å velge riktig avsnitt er svært viktig. Finn en passende seksjon ved å surfe på siden, og se på øverste venstre hjørne du vil se Send Extension
Fyll ut detaljene
Når du har valgt å sende inn en utvidelse, vil det være et skjema for å fylle ut alle detaljene om innlevering. Se gjennom skjermbildene nedenfor for å se de forskjellige feltene som skal fylles ut, og les instruksjonene nøye.
Suksessbilde
Når alle aktuelle felt og filer er sendt, vil du se en melding som skjermbildet over; det vil forklare hvor mange innleveringer er i køen som skal kontrolleres før din.
Konklusjon
Nå som du har lært hvordan du lager en Joomla-modul fra en widget, gå videre og kode. Med det grunnleggende i denne opplæringen kan den samme ideen brukes på Facebook-plugins, Twitter-widgets, sosiale bokmerkere, Youtube-videoinnstillinger, og så mye mer. Glad koding!