Приветствую. Задача следующая. Есть портфолио, состоящее из ~30 ссылок на документы, созданные по шаблону: стандартные шапка и подвал, картинка, описание. Хочу сделать, чтобы документ был один, все ссылки вели на него, а в зависимости от того, по какой ссылке на него перешли, менялись описание с картинкой. С чего начать? Реализуемо ли это вообще?
А меж тем, я нашёл, как это сделать! Но не скажу, как =) И цмс тут не нужна. Кстати, ваша-то цмс такое может? 8)
да, можно обойтись кодом на пхп. цмс работает на пхп. на том же принципе. на этом принципе работает весь веб. приходит запрос, анализируется, отдаётся контент подходящий под запрос. что такого-то там ты наизобретал - не ясно.
Чего это, например? Того, что ответ считается исчерпывающим? Мне интересен механизм организации такой генерации страниц, поэтому я и написал "С чего начать?". А эта отписка является флудом в чистейшем виде и, видимо, желанием отметиться в каждой теме на этом форуме. Ну так чего не дать, например, ссылку на подобную реализацию? Ну или, хотя бы, дать название нужных пхп-функций и послать в гугол? А то, знаешь, так можно на дофига вопросов ответить. Как организовать создание страниц из SQL-базы? А как сделать регистрацию пользователей на сайте? Ну а вывод новостей в ленту как организовать?
да переменные, массивы, классы и далее по нарастающей это единственное предназначение языка PHP - генерация страниц. С того, чтобы учить язык, очевидно. =) но уже есть масса готовых и хороших cms. Зачем изобретать свою? ты просто не понимаешь ответов. чего психуешь. задавай уточняющие вопросы. воистину так Какой умный человек это сказал! Согласен с ним! В точку! чего не так-то?
Разберись в этом примере: index.php Код (PHP): <?php $id = 0; if (isset($_GET['id'])) { $id = (int)$_GET['id']; } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> <menu> <ul> <li>[url="index.php?id=1"]Документ 1[/url]</li> <li>[url="index.php?id=2"]Документ 2[/url]</li> <li>[url="index.php?id=3"]Документ 3[/url]</li> </ul> </menu> <content> <?php if ($id > 0) { if (file_exists("inc/$id.html")) { include "inc/$id.html"; } else { echo 'file not found'; } } ?> </content> </body> </html> В подпапке "inc" пусть будут документы с именами 1.html, 2.html, 3.html и т.д., которые будут подключаться в зависимости от параметра id в адресе. В них может быть часть обычной html разметки, например: 1.html Код (PHP): <p> content of page 1 <img src="img/1.jpg" alt=""> </p>
Я не психую, я развлекаюсь =) Да не, слишком сложно, сначала научить пользоваться клавиатурой и мышью, создавать новые файлы в блокноте и открывать страницы в браузере Это мне говорит человек, который нафигачил свою цмс? Задачу я уж не знаю как конкретнее объяснить. Просто мне показалось, что 30 однотипных страниц - это слегка дохрена, и что достаточно одной, с изменяемым контентом. Мне нужно просто, чтобы адрес сохранялся разный. Чтобы не 30 ссылок на один и тот же php-файл, а 30 ссылок на файлы разные, но физически не существующие, генерящиеся по шаблону при запросе к адресу. Если через мод рерайт, например, то, опять же, получаем редиректы на один файл. Я вот нашел способ, но меня не покидает ощущение, что я сделал это через жопу %)
ну я-то знаю зачем она и чем хуже/луче. и у меня какой-никакой опыт имеется. а вам зачем такие страдания? Покаж фотку способа, а мы поставим диагноз.
Ну у меня, положим, тоже есть опыт с джумлой и вордпрессом, матьихтак... Но вообще для саморазвития Кстати, а вот товарищ YSandro выложил годный пример, спасибо ему Но дело в том, что я всё-таки хочу вообще избавиться от лишних файлов. Я уверен, что достаточно одного, и что это реализуемо. Впрочем, file_exists мне пригодится, ибо моя реализация... Код (Text): <?php include "php/portlist.php"; if (in_array($_SERVER['REQUEST_URI'], $port_list)) { include "php/template.php"; } else { include "php/true404.php"; } ?> ...предполагает генерацию из ВНЕЗАПНО 404 страницы В стиле "чувак, я не нашел чего ты ищешь, поэтому щас попробую сгенерить" %). Я догадывался, что, в общем-то, посредник в виде сервера не нужен и php может запросы к несуществующим страницам сам перехватывать. В переменную $port_list в данном случае загоняются имена таких страниц. Есть в массиве имя - генерируем. Нет - переходим на настоящую страницу 404 и объявляем, что не нашли. Почему именно так? Просто при обращении к, например, http://имясайта/jdfhdfyug, переход осуществляется на 404, но адрес в браузере остаётся таким. Что, собственно, мне и нужно =)
Да, но тебе сильно удобно будет копаться в одном большом файле, если нужно будет сделать небольшие правки где-то в середине? Используй БД. PS. Кстати, вспомнился случай. Один парень на работе изучал PHP, и его первый сайт был именно таким - подключался один большой файл, в котором была сотня if-else и в каждом блоке контент. Не знаю, как его взяли, но выгнали быстро.
Это будет следующий шаг =) Пока что нужное подгружается из файла, дальше буду разбираться с работой с базой. Я, конечно, сначала сам с гуглом попытаюсь разобраться, но... ждите новую аццкую тему "как сделать..." В большом файле не придётся копаться, там страница небольшая и разобрана на запчасти, подключаемые через include(Игорь, наверное, помнит мою прошлую тему, где я познал этот метод ). Там всего блоков-то - подвал, шапка, две картинки, текст описания и форма обратной связи. Негде потеряться =) В том и дело, что сайт изначально задумывался как одностраничник, поэтому делался на чистом html. Да и сейчас пока что усилия по переносу на цмс не окупят результат. К тому же, я могу его использовать как полигон, тренировать свой навык в пхп :3