Back to top

Autore Topic: Problema con REQUEST_URI ed equivalenti su joomla 3.2  (Letto 4206 volte)

Offline biggio75

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Buongiorno a tutti,Vi scrivo a causa di un problema assurdo che da giorni mi fa impazzire e di cui non riesco proprio a trovare una soluzione.Sto lavorando su un sito per un mio amico che oltre a presentare i suoi prodotti vorrebbe fare vendita on line. Visto che lui non ha molte risorse economiche ho optato per le soluzioni più economiche possibili, magari per poi modificarle secondo i miei bisogni. Ecco perché per la sezioni di vendita on line ho utilizzato il componente rokquickcart.L'unico problema è che il componente in oggetto non rispondeva del tutto alle nostre esigenze, quindi ne ho modificato il codice sia javascript sia php così da avere ciò che mi serviva.Uno dei problemi principali di questo componente è che non mi permetteva di creare pagine divise per categorie diverse di articoli, cioè avrei dovuto scrivere un unica pagina dove inserire tutti gli articoli e questo sarebbe alquanto confusionario, quindi ho deciso di aggiungere in testa al componente una condizione per cui a seconda del url chiamante dal menù deve effettuare query diverse in tabella.Per fare questo prendevo l'url da php tramite la variabile REQUEST_URI. Allora il problema è che finché ho inserito 3/4 prodotti per pagina tutto ha funzionato perfettamente, purtroppo però superando questo numero la variabile REQUEST_URI non mi ha più dato il valore giusto ma solo quello della prima pagina digitata dall'utente. Quindi mentre la variabile javascript Document.URL contiene sempre la url corretta quella php REQUEST_URI restituisce quella giusta solo alla prima pagina digitata... e come se il server php non riuscisse più a capire in che pagina si trova e questa cosa mi sta facendo impazzire!Quindi la mia domanda è questa: Esiste un modo per ricavare l'url della pagina che non sia la REQUEST_URI o la JURI:getInstance che mi da lo stesso risultato della prima, devo modificare qualcosa sulla .htaccess oppure cosa?
Spero di essere stato chiaro, capisco pure io che sono stato quantomeno contorto!


Grazie!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #1 il: 09 Dic 2013, 14:47:00 »
Citazione
Esiste un modo per ricavare l'url della pagina che non sia la REQUEST_URI o la JURI:getInstance

no. è tutto derivato da REQUEST_URI

Citazione
mentre la variabile javascript Document.URL contiene sempre la url corretta quella php REQUEST_URI restituisce quella giusta solo alla prima pagina digitata

non è che le pagine successive siano caricate tramite ajax tramite un controller diverso da quello che gestisce la prima pagina?

ciao
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline biggio75

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #2 il: 09 Dic 2013, 15:19:48 »
Grazie per la risposta.


Su joomla ho creato 3 voci di menù che richiamano ogni una il componente rokquickcart. Quindi all'interno del codice php del componente mi testo l'url per sapere chi sono e quindi cosa visualizzare.
Le voci di menù sono "acquista fiori", "acquista piante" ed infine "acquista recisi". Il problema è che qualunque delle 3 voci di menù io clicchi per prima resta impostata come url e di conseguenza non posso visualizzare gli oggetti in vendita per le altre 2!
Guarda faresti meglio a vedere il mio sito che è on-line:


http://steviaversa.it/


Io non sono un esperto di php e nel mio piccolo cerco di imparare, quindi perdonate i miei errori. Ho messo in testa alla pagine ciò che viene restituito dalla variabile REQUEST_URI.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #3 il: 09 Dic 2013, 15:54:25 »
mi pare che il comportamento non sia quello descritto da te.
mi pare invece che l'uri sia sempre acquista-fiori.html indipendentemente da quale voce sia scelta.

hai creato una voce componente (acquista-fiori.html) e due alias o tutte e tre le voci richiamano espressamente lo stesso componente, stessa view?




mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline biggio75

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #4 il: 09 Dic 2013, 16:01:37 »
Tutte e 3 le voci richiamano lo stesso componente: Per ogni una delle tre voci di menù ho semplicemente aggiunto una nuova voce di menù dove come "tipo voce di menù" ho inserito il componente rokquickcart.
Il fatto che a te dia sempre 'acquista fiori' forse dipende dal fatto che è stata la prima voce di menù che hai selezionato tra le 3. Ma come ho detto prima io sto cercando di imparare quindi è provabile che mi sfugga qualcosa.
 

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #5 il: 09 Dic 2013, 16:16:38 »
non conosco il componente, ma il problema potrebbe stare più nel router dello stesso che non in joomla: da come dicevi tu, non si aspetta categorie e/o parametri quindi risolve sempre con la prima voce di menù trovata.

prova a guardare il codice nel file router.php nella directory di front end del componente.
prova a disattivare il sef e vedi se riporta sempre lo stesso URI.

stai pure tranquillo: in questi casi a volte ci sbattono il muso anche quelli che hanno vent'anni di esperienza come il sottoscritto  :(

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline biggio75

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #6 il: 09 Dic 2013, 16:38:07 »
Questo è il mio router.php, ma non riesco a capire cos'è il sef di cui parli tu:



<?php
/**
 * @version   $Id: router.php 6852 2013-01-28 18:51:50Z btowles $
 * @author    RocketTheme, LLC http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2013 RocketTheme, LLC
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 */


defined('_JEXEC') or die;


jimport('joomla.application.categories');


/**
 * Build the route for the com_rokquickcart component
 *
 * @param    array    An array of URL arguments
 *
 * @return    array    The URL arguments to use to assemble the subsequent URL.
 */
function RokQuickCartBuildRoute(&$query)
{


   $session_namespace = 'com_rokquickcart.site';
   jimport('joomla.filter.output');


   $session = JFactory::getSession();


   $segments = array();


   // get a menu item based on Itemid or currently active
   $app  = JFactory::getApplication();
   $menu = $app->getMenu();


   if (empty($query['Itemid'])) {
      $menuItem = $menu->getActive();
   } else {
      $menuItem = $menu->getItem($query['Itemid']);
   }


//    if (!isset($query['view'])) {
//        $query['view'] = 'rokquickcart';
//    }


   // are we dealing with a rokquickcart that is attached to a menu item?
   if (isset($view)) {
      unset($query['view']);
      return $segments;
   }


   if (!isset($query['layout'])) {
      $query['layout'] = 'default';
   }


   if (isset($query['layout'])) {
      if (!empty($query['Itemid']) && isset($menuItem->query['layout'])) {
         if ($query['layout'] == $menuItem->query['layout']) {


            unset($query['layout']);
         }
      } else {
         if ($query['layout'] == 'default') {
            unset($query['layout']);
         }
      }
   }


   return $segments;
}




/**
 * Parse the segments of a URL.
 *
 * @param    array    The segments of the URL to parse.
 *
 * @return    array    The URL attributes to be used by the application.
 */
function RokQuickCartParseRoute($segments)
{
   $app  = JFactory::getApplication();
   $menu = $app->getMenu();
   $item = $menu->getActive();
   if (empty($item)) {
      $item = $menu->getDefault();
      $menu->setActive($item->id);
   }
   $vars = array();
   if (count($segments)) {
//        $vars['layout'] = 'default';
//        $vars['view'] = 'rokquickcart';
   }
   return $vars;
}






Grazie!!!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #7 il: 09 Dic 2013, 17:59:40 »
cortesemente non postate codice massivamente.

per individuare la pagina hai pensato di usare la variabile 'Itemid' presente nella query string?
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline biggio75

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #8 il: 10 Dic 2013, 08:23:40 »
Buongiorno,


Prima di tutto scusatemi per il codice massivo di prima.
Invece riguardo l'itemId purtroppo il risultato è lo stesso, cioè rimane inchiodato sul primo digitato. Non riesco proprio a capire.
 :-\

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema con REQUEST_URI ed equivalenti su joomla 3.2
« Risposta #9 il: 10 Dic 2013, 08:38:34 »
il sef è l'ottimizzazione per i motori di ricerca: prova a disabilitarla.

il comportamento descritto è strano se le voci di menù non sono alias, difficile dire a che sia dovuto...
non è che all'inizio di qualche file tu abbia scritto un' eguaglianza usando invece un'assegnazione, tipo:

Codice: [Seleziona]
if($_SERVER['REQUEST_URI'] = '/fiori-recisi.html') ...
il codice in questione è perfettamente valido, anche se non fa ciò che vuoi tu...

penso comunque potrebbe valere la pena di prendere in esame e-commerce semplici come hikashop o joomshopping...

ciao


mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif