|
|
|
| День добрый!
Подскажите как можно создать сайт (структура) на 2-х языках и чтоб можно было управлять контентом?
Есть у меня сайт на HTML но я хочу его переделать под PHP!
Сайт состоит из 3-х таблиц:
1) шапка с меню
2) Основная таблица с контентом
3) низ сайта
Я сделал так: создал файл index.php template.php ru.php
пока файл index.php содержит одну строку
include ("template.php");
| Я подгрузил шаблончики (таблици)
в файле template.php html код сайта но без текста, я создал переменные которые подгрежаются с ru.php пример кода с template.php
...
include ("ru.php");
<table border="0" width="100%">
<tr>
<td>$Description</td>
</tr>
</table>
|
пример кода ru.php
$Description="какой то текст";
|
я так сделал чтоб во первых уменьшить размер сайта (подгружаю верх и низ из шаблона)
во вторых создал отдельный файл для текста (чтоб если изменять так только в одном месте)
Вот только как с другим языком быть?
мне советывали создать такой же сайт но только на английском - так это же в 2 раза больше размер сайта
Подскажите как правильно и рационально реализовать структуру сайта? Чтоб там было 2 языка и можно было управлять контентом? | |
|
|
|
|
|
|
|
для: Sajmon_root
(10.02.2010 в 10:39)
| | Наиболее удобно хранить содержимое сайта в БД в двух симметричных таблицах - одна содержит русский, другая - английский вариант сайта. Для переключения языков следует завести переменную сессии - и брать данные из нужной таблицы в зависимости от ее значения.
Соответственно, скрипт должен залезть в базу, выбрать нужную таблицу, вытащить из нее содержимое страницы и поместить его в переменную $Description, в Вашем случае, а затем вывести. Работы много, но Вы же хотите свою ЦМС :о) | |
|
|
|
|
|
|
|
для: DJ Paltus
(10.02.2010 в 12:45)
| | Да! Мне хотелось бы управлять контентом! А можно по подробнее про сесионую переменую! Я с Вами полностью согласен что данные нужно хранить в БД. Я впринципи и расчитывал данные с файла ru.php хранить в БД чтоб в последствии можно было управлять контентом! | |
|
|
|
|
|
|
|
для: Sajmon_root
(10.02.2010 в 13:29)
| | Сессии:
http://www.softtime.ru/bookphp/gl8_1.php
|
Да и вообще, прочитайте книжку, она хорошая. | |
|
|
|
|
|
|
|
для: DJ Paltus
(10.02.2010 в 13:56)
| | Подскажите как создается динамическое меню а именно ссылки куда они будит ссылоться? вот эти страницы куда ссылается ссылки с меню они создаются автоматически? | |
|
|
|
|
|
|
|
для: DJ Paltus
(10.02.2010 в 12:45)
| | >Работы много, но Вы же хотите свою ЦМС :о)
1 день | |
|
|
|
|
|
|
|
для: Ури Геллер
(10.02.2010 в 14:17)
| | А если хорошую? | |
|
|
|
|
|
|
|
для: DJ Paltus
(10.02.2010 в 14:21)
| | а если хорошую скачай на hotscripts.com, только такую поискать там надо | |
|
|
|
|
|
|
|
для: DJ Paltus
(10.02.2010 в 12:45)
| | >Наиболее удобно хранить содержимое сайта в БД в двух симметричных таблицах
А если структура таблицы изменится - вносить изменения в 2х (и более) таблицах?
имхо, но я сделал иначе - две таблицы, в первой страницы - во второй переводы.
запорсы к БД малость сложнее, зато никакого гемороя с кол-вом языков и структурой таблиц - добавляй сколько душе угодно. | |
|
|
|
|
|
|
|
для: DJ Paltus
(10.02.2010 в 12:45)
| | А если три языка? Три таблицы? А если 50?
Так с БД не работают... | |
|
|
|
|
|
|
|
для: Loki
(10.02.2010 в 16:39)
| | Ладно, ладно, загнобили. Нет бы, автору темы отвечать на вопросы. | |
|
|
|
|
|
|
|
для: Sajmon_root
(10.02.2010 в 10:39)
| | Дело ваше, конечно, можете хоть сотню таблиц для языков создавать, но я бы использовал такую архитектуру бд:
langs (languages) (все языки, используемые на сайте)
id | name
id - первичный ключ таблицы, это же значение будет хранится в таблице news
name - название языка. Желательно, я думаю, писать его на самом языке, то есть "Русский, English, Deutsch" и т.д. Используется для того, чтобы показать пользователю, какие языки доступны на сайте
news (пусть будут новости)
real_id | news_id | lang
real_id - первичный ключ таблицы, auto_increment естессно, повторяться не может
news_id - id новости, т.е. то, что мы будем видеть в адресной строке (news?id=n), а т.к. языков у нас будет несколько, то могут повторяться (чтобы адреса страниц не зависили от выбранного языка). Конечно, придется немножко подумать над системой добавления материалов, чтобы сохранить id новости в разных языках (начинаю повторятся что-то..)
Не забудьте добавить индекс
lang - id языка, можно будет через explain проверить, но мне кажется, здесь индекса уже не нужно.
Забудьте про сессии - что за бред? То есть я приду, выбиру свой язык, а потом отойду минут на 30, и что же? Снова выбирать язык? Ставьте значение выбранного языка в кукисы (cookie)
Вот собстно мой вариант. | |
|
|
|