Päävalikko

Etusivu
Uutiset
Tiedostot
Foorumi
- - - - - - -
Ohjeita ja vinkkejä
- - - - - - -
Lähetä uutinen

Kirjaudu

Tervetuloa, Vieras. Ole hyvä ja kirjaudu tai rekisteröidy.
12.02.2012, 22:17
Tunnus:
Salasana:


Kirjaudu käyttäjätunnuksen, salasanan ja istunnonpituuden mukaan

Unohtuiko salasana?

joomlafi.pngJoomla.fi on avattu!

Joomlaportal.fi:n foorumi suljetaan pian. Siirry uudelle sivustolle ja rekisteröidy: www.joomla.fi

 

FOORUMI on vainluku-tilassa, uusia aiheita ei voi aloittaa. Siirry uudelle Joomla.fi-sivuston foorumille

Muistilista omien komponenttien tekemiseen
Joomlaportal.fi
12.02.2012, 22:17 *
Tervetuloa, Vieras. Ole hyvä ja kirjaudu tai rekisteröidy.

Kirjaudu käyttäjätunnuksen, salasanan ja istunnonpituuden mukaan
Uutiset:
 
   Etusivu   Ohjeet Haku Kirjaudu Rekisteröidy  
Sivuja: [1]
  Tulostusversio  
Kirjoittaja Aihe: Muistilista omien komponenttien tekemiseen  (Luettu 6593 kertaa)
Temposaur
Global Moderator
*****
Viestejä: 1 753



Profiili WWW
« : 28.08.2007, 12:34 »

Koska itse olen joutunut kahlaamaan Joomla! 1.0.x version dokumentointeja läpi, ja löytänyt aina pikkuhiljaa uusia ominaisuuksia (Joomla! 1.0.x:n dokumentointi on selkeästi Joomla! 1.5:sta heikompi). Listaan tähän joitakin erittäin hyödyllisiä ominaisuuksia, sitä mukaan kun niitä muistuu mieleen. Nämä ovat vielä kaikenlisäksi sellaisia ominaisuuksia joita ei juurikaan käytetä, vaikka niitä pitäisi.

Eli:

Muistilista omiin komponentteihin ja moduuleihin.


addCustomHeadTag:
Kustomoitu teksti <head> tägin sisälle. Voidaan lisätä esim. javaScriptiä tai upottaa tyylitiedostoja.
Käytä mieluummin tyylitiedostojen ja javaScriptin:n lisäämiseen tätä, kuin upottamalla html:n <body>:n sisälle.

esim.
Koodia:
$mainframe->addCustomHeadTag('<script type="text/javascript" src="customJavaScriptLibrary.js" ></script>');


mosCache:
Välimuistin käyttä omissa komponenteissa:
Itse käytän n. viikon kestävää cachea, Joomla! tyhjentää cachen automaattisesti, kun sivulle lisätään esim. uusi artikkeli ( ei tiettävästi toimi ajoitettuihin julkaisuihin).

Välimuistin käyttö on suositeltavaa "ei useasti muuttuvan tiedon" näyttämiseen. Esim. artikkeleihin ja raskaisiin komponetteihin.

Käyttö:

Luo komponettisi niin, että kaikki tulostus yms. tehdään funktion avulla.

esimerkki komponentin käytöstä:
Koodia:
HTML_helloword::helloworldHTML($worldParameter); // tulostaa esim. Hello World.

Yllä oleva skripti ei vielä käytä hyväkseen Joomla! API:n välimuistia. Jos skripti olisi raskas, se rasittaisi joka kerta palvelinta esim. usean sekunnin ajan.

Välimuistin käyttö:
Ylläoleva skripti laitettaisiin käyttämään välimuistia korvaamalla tuo ylläoleva rivi alla olevalla kahdella rivillä.
     
Koodia:
$cache =& mosCache::getCache( 'com_helloworld' );
$cache->call('HTML_helloword::helloworldHTML', $worldParameter);

Nyt Joomla! osaa jo käyttää tässä komponentissa välimuistia. Testissäni käytettävä aika pieneni n. kymmenesosaan.

Muista tyhjentää välimuisti oman kommentin tallennusvaiheessa, jos komponentillasi pystyy lisäämään, esimerkiksi tuotteita, jotta muutos päivittyy sivustolle heti.

Välimuisti tyhjennetään näin:
Koodia:
mosCache::cleanCache();


sefRelToAbs(...);
URLien käyttö:

Kun lisäät komponetteihisi ja moduuleihisi esim. linkkejä, niin aja urlit sefRelToAbs() -funktion läpi.
esim.
Koodia:
sefRelToAbs("index.php?option=com_helloworld&Itemid=".$Itemid);

Ylläoleva funktio tekee urlista absoluuttisen (index.php -> www.omasivu.fi/index.php) ja jos sef-komponetteja on käytössä, niin muuttaa urlin sef/seo-muotoon (index.php?option=com_helloworld -> www.omasivu.fi/hello-world tms.)


Haluaisin muistuttaa muitakin käyttäjiä lisäämällä erittäin kelvollisia Joomla! API funktioita yms., jos muistuu mieleen.



edit:

$mainframe->SetPageTitle( );

Otsikointi:

Eli sivun otsikon voi vaihtaa käyttämällä SetPageTitle -funktiota:
Koodia:
$mainframe->SetPageTitle( "Sivun otsikko selaimen otsikkoriville" );

naghris: laitoin pysyväksi
« Viimeksi muokattu: 24.10.2007, 12:23 kirjoittanut naghris » tallennettu

xtaaviankka
Guru
*****
Viestejä: 867


Profiili
« Vastaus #1 : 28.08.2007, 13:10 »

 Iskee silmää Nämä ovat kyllä hyviä apuja, vielä kun olisi alusta loppuun opastettu yksinkertaisen komponentin tekeminen ja sitä hyödyntävän moduulin käyttö.
tallennettu
talamus
Tulokas
*
Viestejä: 5


Profiili
« Vastaus #2 : 14.02.2008, 21:17 »

Hei,

Muistilista omiin komponentteihin ja moduuleihin

Miten omissa moduuleissa käytetään kielitiedostoja? (en-GB.*.ini, fi-FI.*.ini jne.)

Aina kun kirjoittaa oman palikan, niin siitä voisi saman tien tehdä käännettävän.
tallennettu
Temposaur
Global Moderator
*****
Viestejä: 1 753



Profiili WWW
« Vastaus #3 : 14.02.2008, 22:48 »

Oma tapani on erittäin erilainen verrattuna yleisesti komponenttien kielisyyksiin. Itse olen käyttänyt tietokantaa tässä apuna, ja luonut uuden taulun, jossa on tekstin tunniste ja sitten itse teksti. Tällöin voin hyödyntää joom!fish -käännöksiä, ja "tavallisten pulliaisten" on hieman helpompi päivittää tekstiä.

Huonoa tuossa on se, ettei taas kieliversioita voida jakaa.

Yleisesti Joomla!:ssa, sekä useissa muissa tapauksissa kielille on omat tekstitiedostot, jotka sisältävät tekstejä. Tällöin tietenkin komponenttia suunniteltaessa täytyy muistaa käyttää näitä tekstinpätkiä. Lisäksi mukaan suunnitteluun pitää ottaa myös vaihtoehdot, jossa sana saattaa taipua eri tavalla eri tapauksissa. Kielitiedostoa pitää siinä samalla päivittää, kun uusia sanoja ilmaantuu komponenttiin.

Itse olen huomannut tämän erittäin hitaaksi tavaksi, ja juuri tämän takia en juurikaan pidä käännettävien komponenttien tekemisestä. Pelkän käännösmahdollisuuden tekemiseen saattaa mennä useita tunteja, ja se hidastaa itse komponentin valmistumista.
tallennettu

Sivuja: [1]
  Tulostusversio  
 
Siirry:  

MySQL pohjainen foorumi PHP pohjainen foorumi Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Validi XHTML 1.0! Validi CSS!