структура сайта на php, что поправить?

123
Dmitry HT
На сайте с 31.03.2006
Offline
58
#11

неужели даже это он не сможет обработать?

if (!isset($lang)) { $lang = "rus"; }

if (($lang != "rus") && ($lang != "eng")) { $lang = "rus"; }

if ($lang == "rus") { include("includes/cfg_rus.php"); }

if ($lang == "eng") { include("includes/cfg_eng.php"); }

там так написано....

Магазин аккаунтов (http://wmaid.com/index.php?s=acc)
psylosss
На сайте с 23.12.2005
Offline
126
#12

Dmitry HT, покажите мне код HTML мета-тегов и, если эти мета-теги не прописаны явно, то напишите код, который заполняет эти мета-теги.

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
smscat
На сайте с 23.02.2006
Offline
50
#13

прошу прощения, но вы занимаетесь ерундой.

1. если ваша страница даёт разные meta в зависимости от языка пользователя, вы не получите свой эффект - роботы не указывают язык своего браузера, а пользователь вобще не видит meta. значит менять их в зависимости от языка - бессмысленно. кроме того вы нарываетесь на бан за клоакинг.

2. ширина браузера на сервере не нужна. потому, что пользователь может менять размер окна в любое время и если при этом дизайн не приспосабливается сразу (а как вы хотите после перегрузки страницы с сервера) то это никуда не годится. рекомендую прочесть на эту тему книжку "Вэб дизайн" Якоба Нильсена (Designing web usability. The practice of simplisity).

3. если вы планируете определять язык пользователя и давать ему контент на его языке используйте переадресацию - так вы не получите проблем и навигацию сохраните стабильной.

Dmitry HT
На сайте с 31.03.2006
Offline
58
#14

кода там много получится...

суть такова: в index подключается нужный файл (рус/анг) с мета переменными.

if (!isset($lang)) { $lang = "rus"; }

if (($lang != "rus") && ($lang != "eng")) { $lang = "rus"; }

if ($lang == "rus") { include("includes/cfg_rus.php"); }

if ($lang == "eng") { include("includes/cfg_eng.php"); }

дальше в header происходит выбор

switch ($переменная)

{

case ...

case ...

case ...

}

а потом в описаниях мета:

<meta name="description" content="<?php echo $переменная; ?>">

вот так....

но ведь аналз ссылки с указанной шириной окна проходит нормально...

Dmitry HT
На сайте с 31.03.2006
Offline
58
#15
smscat:
прошу прощения, но вы занимаетесь ерундой

спасиб за советы, впринципе, я с вами согласен!

но вот насчет ширины окна это вы зря...там две разновидности под 800х600 и под более высокое разрешение.

посоветуйте оптимальную структуру...с учетом того, что существует две версии рус/анг...и чтобы использовались одни файлы картинок, и чтобы через скелет все сделано было?

psylosss
На сайте с 23.12.2005
Offline
126
#16

Как вариант:


if (!isset($lang)) { $lang = "rus"; }
if (($lang != "rus") && ($lang != "eng")) { $lang = "rus"; }
if ($lang == "rus") { include("includes/cfg_rus.php"); }
if ($lang == "eng") { include("includes/cfg_eng.php"); }
//...

заменяем на


<?
$valid_langs=array('rus','eng');
if (empty($lang) or !in_array($lang,$valid_langs))
$lang='rus';
//...
$headers=array(
'rus'=>'cfg_rus.php',
'eng'=>'cfg_eng.php',
);
include ($headers[$lang]);

$meta_descr=array(
'rus'=>'Русский заголовок',
'eng'=>'English title',
);
?>

<meta name="description" content="<?php echo $meta_descr[$lang]; ?>">


psylosss
На сайте с 23.12.2005
Offline
126
#17

исправлено.

echo $переменная ничего не показывает? Что-то я не увидел, где присваивается значение $переменная.

Dmitry HT
На сайте с 31.03.2006
Offline
58
#18

брррр...я напутал, там точнее так:

switch ($переменная - передаваемая файлом (index, question и пр.))

{

case ...

case ...

case ...

}

а потом в описаниях мета:

<meta name="description" content="<?php echo $ЙЙЙЙЙ; ?>"> - а вот здесь и есть то, что было присвоено в результате switch.

smscat
На сайте с 23.02.2006
Offline
50
#19
Dmitry HT:
спасиб за советы, впринципе, я с вами согласен!

но вот насчет ширины окна это вы зря...там две разновидности под 800х600 и под более высокое разрешение.

посоветуйте оптимальную структуру...с учетом того, что существует две версии рус/анг...и чтобы использовались одни файлы картинок, и чтобы через скелет все сделано было?

вот буквально только что отвечал на этот вопрос - как сделать чтобы языки определялись, но клоакинга не получилось. кроме того, такой способ делает всю навигацию доступной без необходимости затачиваться на браузер и язык.

насчёт ширины - всё-таки не согласен. например я вобще не открываю окно браузера на весь экран. то есть на меня вы не расчитаете, если будете делать это на стороне сервера. я сам постоянно делаю сайты и решаю это двумя способами - либо фиксированным дизайном в 740px ширины, либо резиновым, который может сокращаться до 740px. последний пример _ostrov.zp.ua_ регулировка ширины сделна на javascript (пришлось) и допускает ручное изменение окна от 800 до 1024 ширины (дальше не тянется, чтобы не удлиннять строку чрезмерно).

psylosss
На сайте с 23.12.2005
Offline
126
#20

Или уберите switch и используйте массивы (как я показал), или добавьте блок $default, или тщательнее отслеживайте значение $переменная.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий