Joomla.it Forum
Non solo Joomla... => Sviluppo => : Vix87 18 May 2011, 09:42:40
-
Volevo sapere se qualcuno conosce una soluzione per questo grande/piccolo problema nel creare una lista nozze.
Leggendo in questo post (http://forum.joomla.it/index.php/topic,64975.0.html) il ragazzo ha/aveva il mio stesso problema, vorrei creare delle liste nozze, la soluzione proposta da Luigi Fantini (la facile) sarebbe perfetta se non fosse che gli utenti legati al matrimonio X vadano a vedere anche la lista del matrimonio Y.
Una mia soluzione ipotetica a questo problema è creare un gruppo di utenti per ogni matrimonio, magari aggiungendo un campo (non obbligatorio) durante la registrazione di un nuovo account nel quale inserire NomeCognomeSposo&NomeCognomeSposa.
Così quando entrerà nel sito potrà comparire in un menù la voce Lista Nozze e tramite una query visualizzare la lista corrispondente al matrimonio di interesse.
Esempio:
I futuri coniugi sono MarioRossi&MariaVerdi
il parente che si registra inserirà nel campo sopra citato (quello che identifica la coppia) Lista Nozze = "MarioRossi&MariaVerdi"
Una volta abilitato l'account, la persona potrà cliccare su Lista Nozze e visualizzare la lista " Mario & Maria"
E' qualcosa di fattibile? Qualcuno ha trovato soluzione a questo problema?
-
e se io sono invitato a due matrimoni? perchè non posso comprare il regalo anche al secondo??? cos'è sei imparziale???
ti faccio un esempio...
mario e maria si sposano e fanno la lista nozza nel negozio di jon...
quando tu entri nel mio negozio... io non so che sei amico di mario e maria... me lo dici tu...
giuseppe e giuseppina si sposano e fanno la lista nozze ancora da me...
quando tu entri nel mio negozio... io non ti rimetterò davanti la lista di mario e maria... ma sarai nuovamente tu a dirmi che sei amico di giuseppe e giuseppina...
ora facendo come dici tu... io devo cambiare ogni volta il mio profilo per accedere alla lista giusta??? non mi sembra una buona idea...
-
Acuta osservazione, ma questa eventualità è nulla.
Per ora non voglio (e non penso ci sia mai questa necessità) gestire questo caso.
Se tu stai ipotizzando quest'altro esempio:
A febbraio vengo invitato al matrimonio di Mario & Maria
e a giugno vengo invitato al matrimonio di Giuseppe & Giuseppina
allora in questo caso si provvederà ad eliminare la lista del matrimonio di febbraio settando il campo Lista Nozze dove risulta "MarioRossi&MariaVerdi" => a null;
In che modo non mi interessa, visto che sono solo uno stagista universitario e vorrei finire implementando il necessario.
-
vabbè quindi vuoi "semplicemente" aggiungere un campo al modulo di iscrizione di joomla... in cui scrivere il nome degli sposi...
sinceramente non lo vedo un metodo funzionale...
ma se vuoi sì si può fare... ma devi andare a modificare il componente di iscrizione di joomla... per la 1.5 lo so fare... per la 1.6 non l'ho mai fatto... ma credo che sia ancora + facile...
che versione usi???
io comunque continuo ad essere scettico sulla funzionalità della tua soluzione... il giorno che "MarioRossi&MariaVerdi" mi restituisce null... io che facevo parte di quel gruppo di utenti... in che gruppo vengo inserito? come faccio a cambiare coppia?
se stai programmando non puoi limitarti a pensare solo ai casi ottimali... io sono stato a due matrimoni in due settimane con la lista nozze nello stesso negozio... ed ho risolto tutto andandoci una sola volta... ti immagini il commesso che mi diceva: "no non puoi sei iscritto all'altra lista"???
sono casi da prendere in considerazione... quando si sviluppa un applicazione web... devi prendere in esame il 100% delle possibilità (ok il 100% è impossibile... ma tu ti limiti al 50%)
-
1.5.23
tu che soluzione proporresti (oltre a quella che tutti possono prendere visione di tutto)?
Siccome chi mi ha commissionato il sito mi ha anche detto che se ci saranno 4 liste nozze in tutto l'anno è tanto.
Quando la coppia si sposa(si chiude la lista nozze), il cliente registrato per questa occasione e con l'attributo riempito con il NomeCognomeSposo&NomeCognomeSposa, viene svuotato e passa a una categoria di utenti "generale", quelli base, ed andrà ad unirsi con quelli che hanno il campo vuoto.
Mentre se l'utente vorrà cambiare coppia, andrà in area riservata (Aspetto Form utente cioè Utente » Utente / Modulo) e compilerà il campo nel modo più opportuno.
-
io creerei una pagina in cui ogni utente inserendo un dato valore... ad esempio "mario maria 29 aprile"... ottiene la lista nozze di mario e maria che si sposano il 29 aprile... senza stare a legare questo utente con quella singola coppia... se io non conosco nomi e data... non posso vedere la lista...
-
bhe questa penso sia una vera furbata :P tanto per ora il sito viene strutturato per visionare soltanto e non acquistare gli oggetti della lista.
Anche questa è una strada percorribile, anzi forse sarà la strada che percorrerò.
C'è un però, io non sò dove mettere le mani, tu mi puoi aiutare?
-
a questo punto ti conviene creare un modulo o meglio un componente apposito... che legga nel database in base al valore immesso nel campo... e stampi tutti i dati della lista....
-
cioè? quest'ultima dritta non l'ho capita, che dovrei cercare??
-
il sito su cui implementare la lista usa virtuemart?
in questo caso segui parzialmente il consiglio dato nell'altro post
1) FACILE
Si creano di volta in volta le categorie degli sposi "Cristina-Giacomo" ... e così via e si clonano all'interno gli articoli principali del negozio.
Il vantaggio è che il database è unico ed il gestore riesce comodamente a fare tutto da solo. Lo svantaggio è che si possono andare a vedere le liste nozze degli altri sposi che stanno organizzando il proprio matrimonio.
le categorie non le rendi visibili... non le linki da nessuna parte...
poi crei un modulo di ricerca in cui l'utente loggato digita il testo (esempio mario e maria 29 aprile) questo modulo cercherà nelle tabelle di virtuemart la categoria avente il medesimo titolo del testo cercato e la linkerà o addirittura stamperà all'utente...
-
Si comunque avevo già pensato di creare le liste con VirtueMart, però non ho conoscenze così approfondite per crearmi un modulo.
a questo punto non vedo più l'utilità di essere loggati/registrati, siccome io devo implementare solo la visione degli oggetti nella lista e non il loro acquisto, chiunque possa accedere al mio sito può consultare.
Esempio:
Utente Generale : clicca su Liste nozze -> (nell'unica text box presente) inserisce ad esempio mario e maria 29 aprile
VirtueMart : Visualizzerà la lista/categoria ricercata, altrimenti sposi non trovati.
-
up
-
non è per essere critico... ma.. creare un modulo non è così complicato... e scoprire come si fa lo è ancora meno...
http://www.google.it/search?q=creare+modulo+joomla+1.6&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:it:official&client=firefox-a#hl=it&client=firefox-a&hs=cBR&rls=org.mozilla:it:official&sa=X&ei=fXTWTaLIC8rGtAaJ9syKBw&ved=0CB4QBSgA&q=create+module+joomla+1.6&spell=1&bav=on.2,or.r_gc.r_pw.&fp=a7ee5892f85500f1 (http://www.google.it/search?q=creare+modulo+joomla+1.6&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:it:official&client=firefox-a#hl=it&client=firefox-a&hs=cBR&rls=org.mozilla:it:official&sa=X&ei=fXTWTaLIC8rGtAaJ9syKBw&ved=0CB4QBSgA&q=create+module+joomla+1.6&spell=1&bav=on.2,or.r_gc.r_pw.&fp=a7ee5892f85500f1)
-
Mentre cerco di vedere e provare a creare questo modulo, vorrei sapere se qualcuno già si è cimentato in questa impresa e mi vorrebbe dare una mano.
-
inizia a creare il modulo vuoto... installalo nel tuo sito (meglio in locale prima) e ci metti mano... devi fare un piccolo form con un campo di testo ed un bottone... poi nel file helper sfrutti il core di joomla per collegarti al db... se non inizi a fare non possiamo aiutarti... fai posta gli script e vediamo :P
-
jonxduo ti ringrazio della mano appena protesa :) spero di non chiederti anche il braccio ;)
Domani inizierà Operazione Creare Modulo Joomla.
-
Sto utilizzando questo wiki :
http://wiki.joomla.it/index.php?title=Creazione_di_un_componente_con_MVC_in_Joomla_1.5_-_Parte_1
Faccio bene?
-
fai benissimo;P
-
girando per internet ho trovato VM Live Product Search (http://extensions.joomla.org/extensions/search-a-indexing/extensions-search/7788)
Spiegazione: questo modulo ricerca in base al nome del prodotto.
Secondo voi (te, jonxduo) potrei riuscire a modificarlo? Fare una ricerca in base alla categoria?
Sempre più semplice crearlo da zero? Tu figurati che mi sono bloccato al tutorial XD
-
si si potrebbe modificare... ma non sarà facile...
-
Ho iniziato a modificare un'altro modulo (che sto già utilizzando nel sito) mod_vm_manufacturer_logo
Vi posto il "sorgente originale"
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
* Manufacturer Module
*
* NOTE: THIS MODULE REQUIRES THE VIRTUEMART COMPONENT!
/*
* @version $Id: mod_virtuemart_manufacturers.php 1279 2008-02-29 09:01:49Z soeren_nb $
* @package VirtueMart
* @subpackage modules
*
* @copyright (C) 2004-2007 Soeren Eberhardt
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* www.virtuemart.net
*/
global $mosConfig_absolute_path, $sess, $VM_LANG, $mosConfig_live_site;
// Load the virtuemart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}
$text_before = $params->get( 'text_before', '');
$show_dropdown = $params->get( 'show_dropdown', 0);
$show_linklist = $params->get( 'show_linklist', 1);
$auto = $params->get( 'auto', 0);
$width = $params->get('window_width', '');
$height = $params->get('window_height', '');
$query_all = "SELECT m.manufacturer_id,m.mf_name,m.mf_desc FROM #__{vm}_manufacturer m ";
$query_all .= "ORDER BY m.mf_name ASC";
$db = new ps_DB;
$db->query( $query_all );
$res = $db->record;
if( empty( $res )) {
echo 'No manufacturers defined!';
return;
}
if( $show_linklist == 1 ) {
//begin iframe to house logos from logolist.php
?>
<div style="width:<?php echo $width; ?>;height:<?php echo $height; ?>;overflow:auto;margin:0;padding:1px">
<?php
$num = 0;
foreach( $res as $manufacturer) {
$num = $num + 1;
?>
<a href="<?php echo $sess->url( URL."index.php?option=com_virtuemart&page=shop.browse&manufacturer_id=". $manufacturer->manufacturer_id ) ?>" target="_parent">
<?php echo $manufacturer->mf_desc; ?>
</a>
<?php
if($num==3){
echo "<br />";
$num = 0;//reset counter
}
}
?>
</div>
<?php
}
if( $show_dropdown == 1 ) {
?><div>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="vm_manufacturer">
<br/>
<select class="inputbox" name="manufacturer_id" onchange="document.vm_manufacturer.submit()">
<option value=""><?php echo $VM_LANG->_('PHPSHOP_SELECT') ?></option>
<?php
foreach ($res as $manufacturer) {
$selected = '';
if( @$_REQUEST['manufacturer_id'] == $manufacturer->manufacturer_id ) {
$selected = 'selected="selected"';
}
echo "<option value=\"".$manufacturer->manufacturer_id ."\" $selected>". $manufacturer->mf_name ."</option>\n";
}
?>
</select>
<br />
<input class="button" type="submit" name="manufacturerSearch" value="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE') ?>" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.browse" />
<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
</form>
</div>
<?php
}
?>
<!-- End Manufacturer Module -->
Ho controllato la tabella che vorrei andare ad interrogare, la tabella si chiama jos_vm_category
ed ha i seguenti campi:
- category_id
- vendor_id
- category_name
- category_description
- category_thumb_image
- category_full_image
- category_publish
- cdate
- mdate
- category_browsepage
- product_per_row
- category_flypage
- list_order
le mi prime modifiche sono state queste
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
* Manufacturer Module
*
* NOTE: THIS MODULE REQUIRES THE VIRTUEMART COMPONENT!
/*
* @version $Id: mod_virtuemart_manufacturers.php 1279 2008-02-29 09:01:49Z soeren_nb $
* @package VirtueMart
* @subpackage modules
*
* @copyright (C) 2004-2007 Soeren Eberhardt
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* www.virtuemart.net
*/
global $mosConfig_absolute_path, $sess, $VM_LANG, $mosConfig_live_site;
// Load the virtuemart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}
$text_before = $params->get( 'text_before', '');
$show_dropdown = $params->get( 'show_dropdown', 0);
$show_linklist = $params->get( 'show_linklist', 1);
$auto = $params->get( 'auto', 0);
$width = $params->get('window_width', '');
$height = $params->get('window_height', '');
$query_all = "SELECT * ";
$query_all = "FROM #__{vm}_category c ";
//$query_all .= "ORDER BY m.mf_name ASC";
$db = new ps_DB;
$db->query( $query_all );
$res = $db->record;
if( empty( $res )) {
echo 'Non ci sono categorie!';
return;
}
if( $show_linklist == 1 ) {
//begin iframe to house logos from logolist.php
?>
<div style="width:<?php echo $width; ?>;height:<?php echo $height; ?>;overflow:auto;margin:0;padding:1px">
<?php
$num = 0;
foreach( $res as $category) {
$num = $num + 1;
?>
<a href="<?php echo $sess->url( URL."index.php?option=com_virtuemart&page=shop.browse&category_id=". $category->category_id ) ?>" target="_parent">
<?php echo $category->mf_desc; ?>
</a>
<?php
if($num==3){
echo "<br />";
$num = 0;//reset counter
}
}
?>
</div>
<?php
}
if( $show_dropdown == 1 ) {
?><div>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="vm_manufacturer">
<br/>
<select class="inputbox" name="manufacturer_id" onchange="document.vm_manufacturer.submit()">
<option value=""><?php echo $VM_LANG->_('PHPSHOP_SELECT') ?></option>
<?php
foreach ($res as $manufacturer) {
$selected = '';
if( @$_REQUEST['manufacturer_id'] == $manufacturer->manufacturer_id ) {
$selected = 'selected="selected"';
}
echo "<option value=\"".$manufacturer->manufacturer_id ."\" $selected>". $manufacturer->mf_name ."</option>\n";
}
?>
</select>
<br />
<input class="button" type="submit" name="manufacturerSearch" value="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE') ?>" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.browse" />
<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
</form>
</div>
<?php
}
?>
<!-- End Manufacturer Module -->
Se qualcuno leggendo mi volesse dare una mano nella creazione del codice gliene sarei davvero grato ;)
AGGIORNAMENTO
Qualcosa si muove..
Aggiornamento 1
Sto facendo delle prove, sto utilizzando il ramo di "show_dropdown" e faccio visualizzare in quella lista gli id delle categorie e per ora funziona. Riesco a visualizzare la lista nozze (id = 20).
Aggiornamento 2
Se non pubblico la categoria i prodotti contenuti all'interno, non vengono visualizzati, qualcuno conosce virtuemart e mi può indicare come fare?
-
Chiedo scusa ai mod per il doppio post, lo faccio solo per tenere una leggibilità alta.
Ho fatto le dovute modifiche e ora è rimasto davvero poco per ciò che voglio realizzare, intanto vi posto il codice modificato:
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
global $mosConfig_absolute_path, $sess, $VM_LANG, $mosConfig_live_site;
// Load the virtuemart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}
$text_before = $params->get( 'text_before', '');
$show_dropdown = $params->get( 'show_dropdown', 0);
$auto = $params->get( 'auto', 0);
$width = $params->get('window_width', '');
$height = $params->get('window_height', '');
$query_all = "SELECT * FROM #__{vm}_category c ";
$db = new ps_DB;
$db->query( $query_all );
$res = $db->record;
if( empty( $res )) {
echo 'Non ci sono categorie!';
return;
}
if( $show_dropdown == 1 ) {
?>
<div style="overflow:auto; padding:1px; margin-left:170px;">
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="vm_category">
<br/>
<select class="inputbox" name="category_id" onchange="document.vm_category.submit()">
<option value=""><?php echo $VM_LANG->_('PHPSHOP_SELECT') ?></option>
<?php
foreach ($res as $category) {
$selected = '';
if( @$_REQUEST['category_id'] == $category->category_id ) {
$selected = 'selected="selected"';
}
echo "<option value=\"".$category->category_id ."\" $selected>". $category->category_name ."</option>\n";
} */
?>
</select>
<br />
<br />
<input class="button" type="submit" name="categorySearch" value="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE') ?>" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.browse" />
<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
</form>
</div>
<?php
}
?>
<!-- Fine Modulo Liste Nozze -->
Tenendo questo codice attivo mi compare una comoda tendina dove selezionare le categorie.
Se seleziono la lista nozze Mario & Maria la pagina viene caricata correttamente (se la categoria è pubblicata), ma se la categoria è pubblicata viene visualizzata anche in Prodotti, cosa NON voluta.
Se seleziono la lista nozze Mario & Maria la pagina viene caricata in modo errato (se la categoria NON è pubblicata), mi si visualizza la pagina della categoria ma senza nessun prodotto (si, la lista contiene 1 articolo).
Altra modifica apportata
global $mosConfig_absolute_path, $sess, $VM_LANG, $mosConfig_live_site;
// Load the virtuemart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}
$text_before = $params->get( 'text_before', '');
$show_dropdown = $params->get( 'show_dropdown', 0);
//$show_linklist = $params->get( 'show_linklist', 1);
$auto = $params->get( 'auto', 0);
$width = $params->get('window_width', '');
$height = $params->get('window_height', '');
$query_all = "SELECT * FROM #__{vm}_category c ";
$db = new ps_DB;
$db->query( $query_all );
$res = $db->record;
if( empty( $res )) {
echo 'Non ci sono categorie!';
return;
}
if( $show_dropdown == 1 ) {
?><div style="overflow:auto; padding:1px; margin-left:170px;">
<center><form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="vm_category">
<br/>
<input type="text" value="Inserisci il codice della lista nozze" name="text1" size="100" maxlength="25" />
<!--<select class="inputbox" name="category_id" onchange="document.vm_category.submit()">
<option value=""><?php //echo $VM_LANG->_('PHPSHOP_SELECT') ?></option>
<?php /*
foreach ($res as $category) {
$selected = '';
if( @$_REQUEST['category_id'] == $category->category_id ) {
$selected = 'selected="selected"';
}
echo "<option value=\"".$category->category_id ."\" $selected>". $category->category_name ."</option>\n";
} */
?>
</select> -->
<br />
<br />
<input class="button" type="submit" name="categorySearch" value="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE') ?>" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.browse" />
<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
</form></center>
</div>
<?php
}
?>
<!-- Fine Modulo Liste Nozze -->
Ho tentato anche ad inserire anche un <input type="text" value="Inserisci il codice della lista nozze" name="text1" size="100" maxlength="25" />
ma la mia text non subisce nessun effetto. sicuramente manca qualcosa... (è quella che trovate attiva sul mio sito http://lnx.cioverchia.it/index.php?option=com_content&view=article&id=54&Itemid=71 ).
Qualunque aiuto a questo problema (noto e conosciuto, mancanza di virtuemart) non è utile solo a me, ma penso a tutta la comunità che si è trovata difronte a questo grattacapo.
-
ciao
hai provato con K2????
io farei cosi':
dopo aver installato k2 creerei dei gruppi utente - il primo fra tutti "Ancora da assegnare" poi gli altri "carlo&maria" franco&gina" ecc. ecc.
nel settings generale di k2 gli imposto che i nuovi registrati finiscono in "Ancora da assegnare"
nei gruppi setti le categorie a cui devono appartenere gli utenti cosi' da avere gli utenti che possono vedero solo la loro determinata categoria
il gestore del sito quando riceve la mail di un nuovo registrato deve assegnarlo a un gruppo a mano in quanto il gruppo di partenza non ha categorie assegnate oppure ha una categoria generica con un unico articolo dove gli viene spiegato che l'account e' ancora in fase di verifica questo perche' se mi registro e sbaglio matrimonio che faccio????
poi posso creare anche gruppi misti che vedono piu matrimoni in contemporanea!!!!!
per l'appartenenza al matrimonio giusto puoi usare il login/registra di k2 che ha dei campi aggiuntivi specificado nella finestra di inserire a quale matrimonio ci si vuole registrare
io farei cosi'
ciao fammi sapere
-
Vix87 stai modificando il template vero???
probabilmente il componente carica solo le categorie pubblicate, ma lo decide il module non il template... dovresti modificare quello, avrai qualcosa tipo:
WHERE catid=ecc...
dovresti eliminare quel pezzo...
il componente come tutti dovrebbe avere una struttura MVC... quindi le sue cartelle dovrebbero essere:
com_nome
- models
- views
- vista1
-tmpl
devi aprire "models" e trovare il model che ha come nome lo stesso della vista di cui stai modificando il tmpl ok?
-
@ jonxduo
il componente non ha una struttura MVC. il modulo è composto solo da due file mod_vm_manufacturer_logo.php e mod_vm_manufacturer_logo.xml che nel mio caso ho rinominato
mod_vm_wedding_list.php e mod_vm_wedding_list.xml.
@gokuale
una soluzione senza necessariamente richiedere la registrazione? anche l'utente anonimo potrebbe visualizzare la lista (se conosce il nome o parametro esatto)
-
sempre da k2 lasci le categorie libere senza registrazione
provalo per alcune cose un po rognosette mi ha salvato la vita in passato
puoi anche creare campi aggiuntuivi (c'e' tutta una serie di tipologia dal textbox, al link, al radio button ecc. ecc.), fare commenti, gestire gallery di immagini e video gallery
fai una prova in un sito locale non ti deludera'
ciao
-
@vix
nel codice non sembra esserci nulla che limiti le categorie a quelle publicate... comunque... è molto + complesso di quello che ti serve...
crea una cartella:
mod_vmwedding
mettici dentro questi file:
mod_vmwedding.php
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'helper.php' );
require_once( dirname(__FILE__).DS.'css.php' );
if($_POST['cat']){
$ris = modVmweddingHelper::getData($_POST['cat']);
}
require( JModuleHelper::getLayoutPath( 'mod_vmwedding' ) );
?>
helper.php
<?php
class modVmweddingHelper
{
function getData($cat)
{
// mi connetto al db
$db = &JFactory::getDBO();
// effettuo la ricerca
$sql = "SELECT * FROM #__vm_category WHERE (category_name = '".$cat."')";
$db->setQuery($sql);
$ris = $db->loadObjectList();
// restituisco i sisultati
return $ris;
}
}
mod_vmwedding.xml
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>vmwedding</name>
<author>Francesco Monti</author>
<version>1.5.0</version>
<description>modulo base</description>
<files>
<filename module="mod_vmwedding">mod_vmwedding.php</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
</files>
</install>
poi crei (sempre dentro mod_vmwedding) la cartella tmpl, al suo interno crei:
default.php
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
if ($_POST['cat']){
foreach($ris as $r){
echo '<a href="index.php?option=com_virtuemart&page=shop.browse&category_id='.$r->category_id.'&Itemid=56">viasualizza la lista nozze di: '.$_POST['cat'].'</a>';
}
}else{
?>
<form action="" method="post">
<input type="text" name="cat">
</form>
<?php
}
?>
una volta fatto questo... zippi la cartella e lo installi come qualunque modulo... provalo... e vediamo se funge... ho scritto tutto di getto non ho testato niente... fammi sapere...
-
Grazie.
Appena provato la pagina ma crasha.
Ho fatto come hai detto tu, lo zip conteveva questi file:
- mod_vmwedding/mod_vmwedding.php
- mod_vmwedding/helper.php
- mod_vmwedding/mod_vmwedding.xml
- mod_vmwedding/index.html
- mod_vmwedding/tmpl/default.php
- mod_vmwedding/tmpl/index.html
Specifico questo (anche se è inutile) ho creato nel top menu la voce lista nozze e l'ho collegata a un articolo con dentro scritto "{loadposition userX}"
Aggiornamento:
Secondo me c'è un errore nel collegamento del db, ora faccio le prove :)
Aggiornamento 1:
ho detto una c@zz@ :P
Aggiornamento 2:
ho notato il default.php manca sia la action che il name ho anche inserito un bottone, ma niente..mhm...
-
secondo me è solo un mio errore di sintassi... cosa ti scrive quando crasha???
ps. nell'articolo scrivici "ciao" e cancella qll
-
chi mi scrive cosa?
il browser mi da Errore HTTP 500 (Internal Server Error): Si è verificata una condizione imprevista durante il tentativo del server di soddisfare la richiesta.
Modificato l'articolo, anche se non capisco il perchè, il sito non è raggiungibile dall'esterno, non vedo il problema di tenere il modulo pubblicato... magari ti è pure più utile capire magari qualche errore di sintassi..
Il modulo viene installato e pubblicato correttamente.
Se ti posso essere d'aiuto in qualunque modo fammi sapere
-
dov'è? il modulo???
è pubblicato sei sicuro???
-
Con l'ftp risiete in
/modules/mod_vmwedding
Ora ti posto le immagini che certificano la sua pubblicazione :
Foto 1
(http://img577.imageshack.us/img577/3379/attivazione.jpg) (http://imageshack.us/photo/my-images/577/attivazione.jpg/)
Foto 2
(http://img10.imageshack.us/img10/7949/attivazione1.jpg) (http://imageshack.us/photo/my-images/10/attivazione1.jpg/)
Uploaded with ImageShack.us
-
facciamo una prova... sostituisci tutto default.php con:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
echo 'lista nozze';
if ($_POST['cat']){
foreach($ris as $r){
echo '<a href="index.php?option=com_virtuemart&page=shop.browse&category_id='.$r->category_id.'&Itemid=56">viasualizza la lista nozze di: '.$_POST['cat'].'</a>';
}
}else{
?>
<form action="" method="post">
<input type="text" name="cat">
</form>
<?php
}
?>
-
echo 'lista nozze';
scusa che cosa farebbe questo comando?
Ho sostituito il tutto.. con il codice qui sopra
Magari dai per scontato qualcosa, che io non ho fatto o che io non ho....dimmi come posso esserti d'aiuto.
-
voglio solo verificare che il modulo venga effettivamente stampato dal core di joomla nel frontend... quel "comando" scrive "listanozze" là dove dovrebbe andare il modulo...
-
Pensavo davi per scontato una Macro categoria di virtuemart con nome liste nozze, per fare quello forse prima ci vuole qualcosa?... tipo del tipo:
='<p>' echo lista nozze '</p>'
Ora cerco nel codice dove avevo una cosa del genere, cioè come inserire tag html nel php.
Aggiornamento
Ho detto una cazzata :D
Aggiornamento 2
Ho provato anche
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );?>
<p><?php echo "lista nozze"; ?> </p>
Ma niente...uff... Bhe che dire ho trovato qualcuno con la voglia di fare e provare GRAZIE jonxduo, dai che provando e riprovando troviamo(scusa se metto il plurale) una cavolo di soluzione a questo problema.
Aggiornamento 3
Ho rimesso il tuo codice in default.php
Aggiornamento 4
1.Chi mi da una mano con l'inglese lo espongo pure sul forum di virtuemart (ENG) magari potrebbero avere altre soluzioni da provare/consigliare
2. ma se la pagina non riesce a visualizzare neanche liste nozze il problema dove potrebbe stare? in helper e mod_vmwedding ?
-
se non stampa nulla... magari la posizione che hai dato al modulo nel tuo template non esiste... dagli una posizione sicura... io sto sparando cretinate... ma se non stampa nulla è l'unica soluzione che mi viene in mente...
-
Se sposto il modulo che hai creato dalla zona user8 alla user6 e il link nozze punta a user8 la pagina viene caricata.
Se la modifico e faccio "caricare" la user6 (la nuova posizione del modulo) la pagina crasha.
-
cosa fai caricare con un link????
-
cosa fai caricare con un link????
??
Cerco di spiegare quello che ho scritto nell'altro post:
tu avevi scritto questo
se non stampa nulla... magari la posizione che hai dato al modulo nel tuo template non esiste... dagli una posizione sicura... io sto sparando cretinate... ma se non stampa nulla è l'unica soluzione che mi viene in mente...
la mia risposta è per dirti che le due posizioni esistono e funzionano se non c'è il modulo che hai creato, questa mattina ho provato anche a posizionarlo a destra/sinistra e comunque la pagina crasha (la home).
Con l'esempio che ho fatto, volevo indicare proprio questo fatto, le aree user8 e user6 ci sono e funziona senza questo modulo. Quando mi riferisco al link Liste Nozze volevo intendere con il link nel top menù che punta in una zona/posizione dove NON è presente il modulo, la pagina funziona correttamente...
-
Il modulo non viene visualizzato perchè nel mod_vmwedding viene richiesto un file css.php che viene implementato!Ho provato a togliere quella richiesta e il modulo viene visualizzato a video, però cmq da errore!