Back to top

Autore Topic: Usare SEMPRE i nomi dei file in lowercase  (Letto 3733 volte)

Offline cvirgili

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Usare SEMPRE i nomi dei file in lowercase
« il: 12 Lug 2012, 23:26:39 »
Ciao a tutti!
 Ho appena finito di scrivere il mio primo componente.
In locale funziona perfettamente. Lo installo su una istanza di joomla su sgaragnao e mi da errori.

Scarico il sito e il db da sgaragnao. Lo installo in locale e funziona.

Una cosa stranissima è che su sgaragnao una view non me la vuole proprio vedere, anche se ovviamente esiste!

A voi è mai capitata una cosa del genere? Avete qualche consiglio da darmi?

Grazie,
 Cristian

« Ultima modifica: 18 Lug 2012, 08:29:05 da cvirgili »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #1 il: 13 Lug 2012, 10:14:26 »
Ciao cristian, ti prego di non citare i nomi dei servizi hosting commerciali sul forum.
Se provi il tuo componente su altri hosting il problema persiste? Potresti semplicemente aver impostato qualche riferimento assoluto che "linka", appunto, al tuo server locale e non è quindi disponibile su altri server. Ad ogni modo sul forum non è molto diffusa la pratica dello spionaggio commerciale per cui è difficile che qualcuno conosca già il contenuto del tuo componente per poterlo esaminare e scovare il problema...

Offline cvirgili

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #2 il: 13 Lug 2012, 14:54:45 »
Ciao!
 Ok scusami.

Allora la chiamata alla view è questa:
Codice: [Seleziona]
   <td>
                        <a href="<?php echo JRoute::_('index.php?option=com_lawyer&view=positionUser2&id=' $item->id "&title=" $item->title); ?>"> 
                      <?php echo JText::_('COM_LAWYER_POSITION_MANAGE_NOTIFICATION'?> </a>
</td>

e questo è il file della view sta sotto views/positionUser2/view.html.php

Codice: [Seleziona]
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
 
// import Joomla view library
jimport('joomla.application.component.view');
 
/**
 * LawyerViewPosition View
 */
class LawyerViewPositionUser2 extends JView
{
    
/**
     * Position view display method
     * @return void
     */
    
function display($tpl null
    {
        
//Qui avevo provato anche con questa linea di codie che però non viene richiamata.
        //echo "ho raggiunto la view: positionUser2";exit;
        
        
$id JRequest::getVar('id','0');
        
$model $this ->getModel();
        
        
$items $model->getPositionUser($id);
      
        
// Get data from the model

        
$pagination $this->get('Pagination');
 
        
// Check for errors.
        
if (count($errors $this->get('Errors'))) 
        {
            
JError::raiseError(500implode('<br />'$errors));
            return 
false;
        }
        
// Assign data to the view
        
$this->items $items;
        
        
$this->pagination $pagination;
        
 
        
// Set the toolbar
        
$this->addToolBar();
 
        
// Display the template
        
parent::display($tpl);
 
        
    }
 
    
    

    
    
/**
     * Setting the toolbar
     */
    
protected function addToolBar() 
    {
        
$app JFactory::getApplication();
        
JToolBarHelper::title(JText::_('COM_LAWYER_POSIZIONMANAGER').': '.$app->getUserState('title_position_lawyer',''), 'positionUsers');    
        
    }

}


L'errore che mi da l'installazione di Joomla è:


500 - Si è verificato un errore. View non trovato [name, type, prefix]: positionUser2, html, lawyerView
 

Dove potrei provare il componente?

grazie,
 Cristian

Offline webdesigneritalia

  • Appassionato
  • ***
  • Post: 569
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #3 il: 13 Lug 2012, 15:00:11 »
Mettendolo nel remoto, hai configurato bene il file config.php ?
Io ho avuto diversi problemi fino a quando i titolari dell'hosting non me lo hanno sistemato loro.
Apri un cosi detto ticket....poi senti cosa ti dicono.
 ;)

Offline cvirgili

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #4 il: 13 Lug 2012, 15:14:18 »
Grazie mille del consiglio webdesigner.

L'a procedura di installazione dell'istanza l'ho fatta direttamente sull'hosting.
Il php.ini è impostato con l'opzione "ottimizzato con per joomla".
Comunque aprirò sicuramente un ticket :)

Cristian

mau_develop

  • Visitatore
Re:Joomla su sgaragnao
« Risposta #5 il: 13 Lug 2012, 16:39:18 »
probabilmente hai sbagliato il naming, ovvero quella positionuser2 non viene usata dal controller.

$id = JRequest::getVar('id','0');
--------------------------------------------
...buco.

M.

Offline cvirgili

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #6 il: 13 Lug 2012, 16:58:28 »
Ciao,
 dici il controller positionUser2?

Ho provato a mettere $id = 2;

Stesso errore.

La view non viene proprio chiamata.
Infatti togliendo il commento alla prima riga della view:

Codice: [Seleziona]
echo "Ho chiamato la view PositionUser2";
exit;

dovrebbe restiirmi la frase, invece non viene proprio chiamata e mi da errore 500 (chi si occupa di darmi errore 500 poi?)


In locale funziona perfettamente.

Cristian


« Ultima modifica: 13 Lug 2012, 17:03:22 da cvirgili »

Offline cvirgili

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #7 il: 17 Lug 2012, 17:23:48 »
Trovato l'inghippo!!!! >:(

 Il componente è stato sviluppato su ambiente MAC OS X che è case preserving mentre il sito su sgaragnao, essendo linux, è case sensitive.

Intuisco che il 'controller delle chiamate' del kernel joomla invece  faccia un lowercase dei nomi delle view/controller ecc. Infatti chiamando quella view positionUser credo che venga trasformata in postionuser e il file non veniva trovato il file nel filesystem. Ora ho messo tutto in lowercase e funziona che è una meraviglia.

Morale: NON USATE LE LETTERE MAIUSCOLE NELLE VIEW/CONTROLLER/MODEL/TABLE....

Spero che questo post possa essere utile ad altri.

Cristian




mau_develop

  • Visitatore
Re:Joomla su sgaragnao
« Risposta #8 il: 17 Lug 2012, 18:18:40 »
NON USATE LE LETTERE MAIUSCOLE NELLE VIEW/CONTROLLER/MODEL/TABLE....
----------------------------------------------------------------------------
..nei nomi dei files..... Per tutto il resto il "camel" è caratteristica del naming joomla

M.

Offline cvirgili

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #9 il: 17 Lug 2012, 22:26:29 »
Si corretto, ti ringrazio per la precisazione.

Peccato che non venga scritto subito nel tutorial per la creazione di una estensione in MVC.

Cristian


mau_develop

  • Visitatore
Re:Joomla su sgaragnao
« Risposta #10 il: 17 Lug 2012, 23:18:05 »
ma come no...
http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1

paragrafo naming:
All filenames and foldernames for models, views and controllers must be lower-case in order to operate well on Unix/Linux-systems.

M.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Joomla su sgaragnao
« Risposta #11 il: 18 Lug 2012, 07:40:46 »
Citazione
Spero che questo post possa essere utile ad altri.

Certo magari se aggiusti anche il titolo, non è che adesso bisogna sviluppare su misura in base al provider no eh.  ;)

 



Web Design Bolzano Kreatif