buongiorno a tutti!
spero di non andare contro il regolamento se apro questo thread...l'ho aperto in quanto si parla delle applicazioni specifiche di un solo cms, quello generale (come è giusto che sia) è appunto generale e quindi non penso vada bene per questo argomento
vorrei sapere...qualcuno di voi ha mai implementato nuovi tempolate per joomla?
perché io è da giorni che ci sto provando ma non ne sto venendo fuori minimamente. Ho postato anche sul forum di joomla ma sembra piuttosto inattivo come forum, quindi se posso chiedo aiuto anche a voi.
Quello che voglio costruire è un ricettario. Ho visto che ce n'è già uno già bello pronto, ma non ha le caratteristiche che voglio io e star lì a modificare codice che non ho scritto io mi risulta decisamente più complicato che riscrivermelo da zero...
Io il mio bel codice per il componente l'ho installato segeuendo la guida che trovate qui: http://www.joomla.it/nuovosmf2/index...3.0;attach=402
più altre 2 in inglese che ho trovato su joomla.org: http://help.joomla.org/content/view/773/125/ e http://help.joomla.org/content/view/774/125/
io sono riuscito a scrivere il codice che mi serve (per ora sono pagine bianche) ma dovrebbero esserci tutte. Vi riporto qui l'xml che ho creato:
codice:
<?xml version="1.0" encoding="iso-8859-1"?>
<mosinstall version="1.0.8" type="component">
<name>ricettarioAlb</name>
<creationDate>24 Maggio 2006</creationDate>
<author>Manuel</author>
<copyright></copyright>
<authorEmail>mia[at]mail[dot]it</authorEmail>
<authorUrl>http://www.***.it</authorUrl>
<version>1.0</version>
<description>Semplice strumento per raccogliere numerose ricette</description>
<files>
<filename>ricettarioAlb.php</filename>
<filename>ricettarioAlb.html.php</filename>
</files>
<images>
</images>
<install>
<queries>
</queries>
</install>
<uninstall>
<queries>
</queries>
</uninstall>
<installfile>install.ricettarioAlb.php</installfile>
<uninstallfile>uninstall.ricettarioAlb.php</uninstallfile>
<administration>
<menu>RicettarioAlb 1.0</menu>
<submenu>
<menu act="gestIngredienti">Gestione Ingredienti</menu>
<menu act="gestCategorie">Gestione Categorie</menu>
<menu act="gestRicette">Gestione Ricette</menu>
<menu act="gestVini">Gestione Vini</menu>
</submenu>
<files>
<filename>admin.ricettarioAlb.html.php</filename>
<filename>admin.ricettarioAlb.php</filename>
</files>
<images></images>
</administration>
</mosinstall>
ho tolto la parte delle queries perché se no veniva un codice un po' lunghetto.
ho poi creato tutti i file che sono stati nominati nell'xml.
Ho zippato il tutto e ho provato l'installazione; che di per sè va a buon fine; in quanto oltre al messaggio testuale di avvenuta installazione mi ritrovo anche il db creato.
Quello che però non capisco è come fare a gestire il menù...cioè nell'xml vedete la parte relativa al menù dell'area amministrativa? ecco...il menù me lo crea tranquillamente. Infatti se, in area amministrativa, scelgo la voce componenti vedo il mio ricettario con le sue 4 voci, ma cliccando su una qualsiasi delle voci vengo rimandato alla home page dell'interfaccia...come se non trovasse la risorsa.
Questi sono inoltre i miei due file amministrativi:
admin.ricettario.php
Codice PHP:
<?php
// impedisco l'accesso diretto alla pagina
defined('_VALID_MOS')or die('Direct access to this page is not allowed');
// includo il file con il template in html
require_once( $mainframe->getPath('admin_html') );
/**
* ricevo la task e la passo allo switch
* che in base al valore che assume
* mi determina quale funzione richiamare
*/
$task=mosGetParam( $_REQUEST, 'act', '' );
switch ($task){
case 'gestIngredienti':
ricettarioAlb::gIngredienti();
break;
case 'gestCategorie':
ricettarioAlb::gCategorie();
break;
case 'gestRicette':
ricettarioAlb::gRicette();
break;
case 'gestVini':
ricettarioAlb::gVini();
break;
default:
ricettarioAlb::defaultFunction();
break;
}
?>
e questo è admin.ricettario.html.php
Codice PHP:
<?php
// impedisco l'accesso diretto alla pagina
defined('_VALID_MOS')or die('Direct access to this page is not allowed');
/**
* @package ricettarioAlb con definizione delle funzioni
*/
class ricettarioAlb{
function gIngredienti(){
echo "gestione Ingredienti";
}
function gCategorie(){
echo "gestione Categorie";
}
function gRicette(){
echo "gestione Ricette";
}
function gVini(){
echo "gestione Vini";
}
}
?>
a me sembrano corretti
inoltre ho provato ad aggiungere il link al mio componente in uno qualsiasi dei menù di joomla...
il collegamento va a buon fine, però, quando (lato utente) clicco su quanto ho appena aggiunto vedo la scritta:
La pagina alla quale stai provando ad accedere non esiste.
Per favore seleziona una pagina dal menu principale.
inserita nel template predefinito, quando invece le pagine ci sono ttte...sono solo due! con i nomi che vuole joomla...io non capisco cosa c'è che non va!
Chiedo scusa per il post lunghissimo, ma ho cercato di spiegare per filo e per segno quanto ho fatto e spero che qualcuno, almeno qui riesca a darmi una mano.
Vi ringrazio infinitamente!