Back to top

Autore Topic: Aiuto nel codice....per piacere (RISOLTO, che bello)  (Letto 3769 volte)

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Ciao a tutti,
allora sto provando a fare la conversione di un template da 1.0 a 1.5, io sembra che ho capito tutto (grazie alla meravigliosa guida), ma adesso, purtroppo ho problemi nella visualizzazione del template, perchè mi da sempre un errore "parse error" alla riga 59... e in pratica è questa parte qui:

<?php mosShowHead(); ?>
<?php echo "<link rel=\"stylesheet\" href=\"$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/css/template_css.css\" type=\"text/css\"/>" ; ?><?php echo "<link rel=\"shortcut icon\" href=\"$GLOBALS[mosConfig_live_site]/images/favicon.ico\" />" ; ?>
<link href="css/template_css.css" rel="stylesheet" type="text/css" />

Questa è l'originale del 1.0, io ho provato a modificarlo in tanti modi, ma è quel $GLOBALS che non so che fine fargli fare...

Vi prego, mi date una mano?  :-[

Grazie come sempre  :)
« Ultima modifica: 24 Gen 2009, 12:47:21 da Martina82 »

SteveTW

  • Visitatore
Re: Aiuto nel codice....
« Risposta #1 il: 23 Gen 2009, 13:10:08 »
Ciao Martina, prova a trasformare il tuo codice cosi:

<link rel="shortcut icon" href="<?php echo $this->baseurl; ?>/images/favicon.ico" />
<link href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/css/template_css.css" rel="stylesheet" type="text/css" />


Questo è la base per dare le coordinate della favicon, che puoi cambiare, e del file css principale, poi se ne hai altri devi aggiungere le righe necessarie, se si tratta di un template semplice non hai altro da fare.

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....
« Risposta #2 il: 23 Gen 2009, 22:00:40 »
Grazie infinite, sei stato illuminante!  ;)
Il problema è che ora, anche se il template viene visto comunque mi da sempre un errore nella riga 1... e sinceramente non posso proprio capire in cosa consista l'errore lì, ma poi mi ha modificato il menu e tolto parecchia roba (che sulla versione 1.0 si vedeva) e non saprei come rimetterla, e poi mi ha cambiato la grandezza del font, etc... insomma... non è proprio il massimo.
Ma che depressione, dopo tutto quel lavoro, ora non lo posso salvare  :'(

Che faccio?

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....
« Risposta #3 il: 24 Gen 2009, 10:06:23 »
Dopo una notte quasi insonne, sono giunta ad una conclusione: non ho il tempo per dedicarmi ad un nuovo template, non è giusto buttare tanto lavoro proprio adesso.
A questo punto, mi appello a chi abbia un po' di buona volontà nel darmi una mano... non dovete fare tutto voi, io ci ho messo il mio e tutto quello che potevo, ma patisco i miei limiti perchè non conosco questo linguaggio  :'(

Allora... veniamo a noi:

Finalmente il template è visibile, ma in alto alla pagine mi da questo errore:

Parse error: parse error in d:\web_server\joomla15\libraries\joomla\document\html\html.php(278) : eval()'d code on line 1

Che vuole indicare?

l'index originario 1.0 alle prime righe era:

<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
// needed to seperate the ISO number from the language file constant _ISO
$iso = explode( '=', _ISO );
// xml prolog
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php mosShowHead(); ?>
<?php
if ( $my->id ) {
   initEditor();
}
$collspan_offset = ( mosCountModules( 'right', 'left' ) + mosCountModules( 'user2' ) ) ? 2 : 1;
//script to determine which div setup for layout to use based on module configuration
$user1 = 0;
$user2 = 0;
$colspan = 0;
$right = 0;
$left = 0;
$banner = 0;
// banner combos

e io l'ho fatto diventare così per la 1.5 :

<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted index access' );
// needed to seperate the ISO number from the language file constant _ISO
$iso = explode( '=', _ISO );
// xml prolog
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>"
lang="<?php echo $this->language ?>" dir="<?php echo $this->direction; ?>">
<head>
<jdoc:include ="head" />
<?php

$collspan_offset = ( $this->countModules( ' right, left + user2 ' ) ) ? 2 : 1;
//script to determine which div setup for layout to use based on module configuration
$user1 = 0;
$user2 = 0;
$colspan = 0;
$right = 0;
$left = 0;
$banner = 0;
// banner combos

Dove ho sbagliato?
Vi prego aiutatemi se avete tempo, per me sarebbe davvero una gran cosa  :)

Poi volevo chiedere perchè nel template 1.0 avevo stabilito una certa grandezza del font, mentre con il passaggio a 1.5 questa grandezza si è modificata, e adesso non so su che valori dovrei operare, visto che quelli del css io li avevo già modificati, e in più anche il menu principale, che era formato da striscette colorate, che quando passavi il mouse cambiavano colore e anche icona (in base al fatto che era attivo o no), beh... non c'è più nulla, c'è solo la freccetta arrow, perchè?

Magri sul menu posso anche passarci sopra, anche se mi piacerebbe mettere una icona al posto della freccetta, e pur facendo il cambio del file arrow.gif mi visualizza male l'iconcina, quindi dovrei fare qualcos'altro credo.

Beh, questo è davvero tutto, se potet aiutarmi, anche a risolvere solo uno di questi problemi, vi sarò grata.

ciao  ;)

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #4 il: 24 Gen 2009, 12:08:29 »
Non so, ma sto cominciando a pensare che questo errore eval code è proprio una rogna... vi prego aiutatemi!

Offline TheShark

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 920
  • Sesso: Maschio
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #5 il: 24 Gen 2009, 12:17:16 »
Mettilo da  cosi:
Codice: [Seleziona]
<?php
// no direct access
defined'_JEXEC' ) or die( 'Restricted index access' );
// needed to seperate the ISO number from the language file constant _ISO
$iso explode'='_ISO );
// xml prolog
echo '<?xml version="1.0" encoding="'$iso[1] .'"?' .'>';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language?>"
lang="<?php echo $this->language ?>" dir="<?php echo $this->direction?>">

a cosi:

Codice: [Seleziona]
<?php defined('_JEXEC') or die('Restricted access'); ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language?>" lang="<?php echo $this->language?>"
 dir="<?php echo $this->direction?>" >


Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #6 il: 24 Gen 2009, 12:27:42 »
Grazie mille per l'aiuto, ma purtroppo conitnua a darmi lo stesso errore... ma come mai? Che può essere?

Sono andata anche a vedere nel file html.php alla riga 277... ma non ci capisco nulla  :'(

Grazie ancora.

Offline TheShark

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 920
  • Sesso: Maschio
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #7 il: 24 Gen 2009, 12:29:08 »
incolla qui quella riga

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #8 il: 24 Gen 2009, 12:35:21 »
Questa la scritta di errore

Parse error: parse error in d:\web_server\joomla15\libraries\joomla\document\html\html.php(277) : eval()'d code on line 1

e in html.php
la riga 277 dice

 return eval($str);


Contestualizzata con qualche altra riga, ti riporto:

   /**
    * Count the modules based on the given condition
    *
    * @access public
    * @param  string    $condition   The condition to use
    * @return integer  Number of modules found
    */
   function countModules($condition)
   {
      $result = '';

      $words = explode(' ', $condition);
      for($i = 0; $i < count($words); $i+=2)
      {
         // odd parts (modules)
         $name      = strtolower($words[$i]);
         $words[$i]   = ((isset($this->_buffer['modules'][$name])) && ($this->_buffer['modules'][$name] === false)) ? 0 : count(JModuleHelper::getModules($name));
      }

      $str = 'return '.implode(' ', $words).';';

      return eval($str);
   }

Ecco tutto.

Guarda ti ringrazio di cuore.

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #9 il: 24 Gen 2009, 12:38:10 »
Comunque aggiungo anche che noto, che quando carico la home, tenta di caricare come un'icona sul lato sinistro, dove c'è il menu principale, prima della scritta menu principale... è una questione di attimi, perchè esce la classica "x" e dopo non si vede più nulla, e sembra tutto normale, e resta questo errore in alto.

Non so se può aiutare.

Offline tiè

  • Appassionato
  • ***
  • Post: 418
  • Sesso: Maschio
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #10 il: 24 Gen 2009, 12:38:33 »
così a occhio e croce:
questa riga:
Codice: [Seleziona]
$collspan_offset = ( mosCountModules( 'right', 'left' ) + mosCountModules( 'user2' ) ) ? 2 : 1;
è stata trasformata in:
Codice: [Seleziona]
$collspan_offset = ( $this->countModules( 'right, left + user2 ' ) ) ? 2 : 1;
ma a me sembra che dovesse essere invece:
Codice: [Seleziona]
$collspan_offset = ( $this->countModules( 'right', 'left' + 'user2 ' ) ) ? 2 : 1;
ciao :)

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #11 il: 24 Gen 2009, 12:40:54 »
così a occhio e croce:
questa riga:
Codice: [Seleziona]
$collspan_offset = ( mosCountModules( 'right', 'left' ) + mosCountModules( 'user2' ) ) ? 2 : 1;
è stata trasformata in:
Codice: [Seleziona]
$collspan_offset = ( $this->countModules( 'right, left + user2 ' ) ) ? 2 : 1;

Oh my good, è vero!!!!!
E l'ho trasformata proprio io, in persona!!!! ehehehe
Ora provo e ti faccio sapere....

Lo sapevo che avevo che c'erano buone possibilità che avevo pasticciato.....  ::)
ma a me sembra che dovesse essere invece:
Codice: [Seleziona]
$collspan_offset = ( $this->countModules( 'right', 'left' + 'user2 ' ) ) ? 2 : 1;
ciao :)

Offline tiè

  • Appassionato
  • ***
  • Post: 418
  • Sesso: Maschio
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #12 il: 24 Gen 2009, 12:44:19 »
tiè
"il debugger" :D

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #13 il: 24 Gen 2009, 12:44:24 »
Allora!!!!  :D

io avevo 2 linee di errore identiche, con questa modifica ne è restata solo una... siamo sulla buona strada credo!

Si vede che ho pasticciato anche da qualche altra parte....  ::)

adesso incollo il resto del codice... e intanto me lo riguardo anche io


$collspan_offset = ( $this->countModules( 'right', 'left' + 'user2 ' ) ) ? 2 : 1;
//script to determine which div setup for layout to use based on module configuration
$user1 = 0;
$user2 = 0;
$colspan = 0;
$right = 0;
$left = 0;
$banner = 0;
// banner combos

//user1 combos
if ( $this->countModules( ' user1 + user2 ' ) == 2) {
   $user1 = 2;
   $user2 = 2;
   $colspan = 3;
} elseif ( $this->countModules( 'user1' ) == 1 ) {
   $user1 = 1;
   $colspan = 1;
} elseif ( $this->countModules( 'user2' ) == 1 ) {
   $user2 = 1;
   $colspan = 1;
}
//banner based combos
if ( $this->countModules( 'banner' ) and ( empty( $_REQUEST['task'] ) || $_REQUEST['task'] != 'edit' ) ) {
   $banner = 1;
   
}

//right based combos
if ( $this->countModules( 'right' ) and ( empty( $_REQUEST['task'] ) || $_REQUEST['task'] != 'edit' ) ) {
   $right = 1;
   
}
//left based combos
if ( $this->countModules( 'left' ) and ( empty( $_REQUEST['task'] ) || $_REQUEST['task'] != 'edit' ) ) {
      $left = 1;

}
//top based combos
if ( $this->countModules( 'top' ) and ( empty( $_REQUEST['task'] ) || $_REQUEST['task'] != 'edit' ) ) {
      $top = 1;

}
?>

Offline Martina82

  • Esploratore
  • **
  • Post: 61
    • Mostra profilo
Re: Aiuto nel codice....per piacere.
« Risposta #14 il: 24 Gen 2009, 12:46:52 »
NON CI POSSO CREDERE!!!!!!!!!

RISOLTO!!!!

Per dei semplici apostrofi stanotte non ho dormito!!!

GRAZIE MILLE!!!!!!!!

Scusate il grassetto, ma sono troppo troppo troppo troppo troppo contenta!!! Stavo per abbandonare un template che mi è costato mesi di sacrificio!

Grazie ragazzi, grazie davvero  :D

Offline tiè

  • Appassionato
  • ***
  • Post: 418
  • Sesso: Maschio
    • Mostra profilo
Re: Aiuto nel codice....per piacere (RISOLTO, che bello)
« Risposta #15 il: 24 Gen 2009, 12:56:07 »
era qui:
Codice: [Seleziona]
if ( $this->countModules( ' user1 + user2 ' ) == 2) {
e doveva essere:
Codice: [Seleziona]
if ( $this->countModules( 'user1' + 'user2' ) == 2) {
ciao sono contento che hai risolto con il nostro aiuto :)

 



Web Design Bolzano Kreatif