problema grave include/languages

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Amos
membro Junior
membro Junior
Messaggi: 8
Iscritto il: 14/12/2006, 16:07
Contatta:

problema grave include/languages

Messaggio da Amos »

Buongiorno a tutti, ho un problema che non riesco a risolvere e spero che con il vostro aiuto possa venirne a capo.
Vorrei creare sul mio sito una nuova pagina con il richiamo alle lingue italiano ed inglese.
Per spiegarmi meglio vorrei poter capire come inserire in una pagina ad esempio questa:
<?php
/*
$Id: index.php,v 1.1 2003/06/11 17:37:59 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/
require('includes/application_top.php');
// the following cPath references come from application_top.php
$category_depth = 'top';
if (isset($cPath) && tep_not_null($cPath)) {
$categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
$cateqories_products = tep_db_fetch_array($categories_products_query);
if ($cateqories_products['total'] > 0) {
$category_depth = 'products'; // display products
} else {
$category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");
$category_parent = tep_db_fetch_array($category_parent_query);
if ($category_parent['total'] > 0) {
$category_depth = 'nested'; // navigate through the categories
} else {
$category_depth = 'products'; // category has no products, but display the 'no products' message
}
}
}

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Arredamento letti - Arredamento letti camere da letto</title>
<meta name="description" content="ITALIAN COLLECTIONS - Arredamento letti. Arredamento letti camere da letto">
<meta name="Keywords" content="arredamento camere da letti letto">
<meta name="Robots" CONTENT="index, follow">
<meta name="robots" content="all">

<base href="http://www.italiancollections.com/catalog/">
<link rel="stylesheet" type="text/css" href="stylesheet.css">

<!-- Codice per i men a tendina dei pulsanti "Acquista per Prodotto" e "Acquista per Marca" -->

<!--<style type="text/css">
#dropmenudiv{
position:absolute;
border:1px solid #D9C592;
font:bold 12px Arial;
line-height:18px;
z-index:100;
}
</style>

<script language="JavaScript" src="menus_it.js"></script>-->
<script type="text/javascript" language="JavaScript1.2" src="js/stm31.js"></script>
<!-- Codice per i me end -->
<style type="text/css">
Italian - Forniture - Furnishing - Design</style>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" bordercolor="#000000" width="100%" cellspacing="3" cellpadding="3">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- vertical line -->
<td>

<table border="0" bordercolor="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="24" height="3">
<img src="./images/tables/vlinetop.jpg" border="0"></img></td>
</tr>
<tr>
<td width="22" height="700" background="./images/tables/vlinecenter.jpg"></td>
</tr>
<tr>
<td width="24" height="3">
<img src="./images/tables/vlinebottom.jpg" border="0"></img></td>
</tr>
</table>
</td>


<!-- body_text //-->

<!-- body_text_eof //-->
<!-- <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- right_navigation //->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //->
</table></td>-->
</tr>

</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>



</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

un richiamo ai file php con la lingua del caso ma la cosa non mi riesce, da quanto ho capito devo inserire il nome che mi interessa che richiami ad esempio:
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT); ,
creare un pagina all'interno di includes/languages/italian e nominarla default.php con all'interno il richiamo del testo tipo :
define('NAVBAR_TITLE', 'Il mio account');
posizionando oviamente sulla prima pagina( quella base ) il codice che chiama quella della lingua tipo:
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT); ed anche <?php echo 'NAVBAR_TITLE'; ?>

Ma purtroppo non riesco perchè appena inserisco nella pagina base questo codice mi dice

Warning: main(includes/languages/english/FILENAME_DEFAULT): failed to open stream: No such file or directory in D:\inetpub\vhosts\italiancollections.com\httpdocs\catalog\prova.php on line 31

Fatal error: main(): Failed opening required 'includes/languages/english/FILENAME_DEFAULT' (include_path='.;./includes;./pear') in D:\inetpub\vhosts\italiancollections.com\httpdocs\catalog\prova.php on line 31


Spero di essermi spiegato, in pratica dovrei creare una pagina con banner a lato e testata ( come già è ) ma con i campi per richiamare il testo dal file della lingua.
Grrr mi è difficile spiegarlo

Scusate l'ignoranza
Grazie a tutti
Marco
Amos
muttley
membro Junior
membro Junior
Messaggi: 36
Iscritto il: 26/02/2004, 1:00
Località: ITA

Messaggio da muttley »

FILENAME_DEFAULT è definito in /catalog/includes/filenames.php (che viene a sua volta incluso da application_top.php nelle pagine pubblicabili):

Codice: Seleziona tutto

define('FILENAME_DEFAULT', 'index.php');
Se la tua pagina è /catalog/prova.php:
1-definisci il nome in filenames.php (o application_top.php);

Codice: Seleziona tutto

define('FILENAME_PROVA', 'prova.php');
2-crea il file per la lingua in /catalog/includes/languages/italian/ english/ ecc. con lo stesso nome della pagina da localizzare (quindi "prova.php")

3-includi il file per la lingua in /catalog/prova.php DOPO il require di application_top.php (l'errore che hai riportato dovrebbe essere stato generato da questo).

Codice: Seleziona tutto

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PROVA);
ovviamente puoi anche saltare il punto 1 e includere direttamente il file

Codice: Seleziona tutto

require(DIR_WS_LANGUAGES . $language . '/prova.php');
Rispondi