Перейти к содержимому


Партнерская программа Kredov

Вставка информации в контент в зависимости от страницы

#1 Kolovrat

Kolovrat
  • Заблокированные
  • 61 сообщений
  • Репутация: 0
0

Отправлено 07 Апрель 2012 - 15:50

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

То-есть предположим что мы находимся на главной и там должен выводиться текст "Добро пожаловать и т.д.", а перейдя на страницу с контактной информацией должен вывестись текст "скайп такой то, ася такая то, адресс такой то и т.д.".

Изначально я сделал в корне сайта страницы с форматом .php, у них были соответствующие названия (glavnaya.php и т.д.) и в них было указано в какое место файл с шапкой поставить, потом с меню, а в место контента вставлялся файл с текстом для этой страницы. Но этих страниц всего несколько, а в дальнейшем их надо будет добавлять, и соответственно надо будет копировать код изначальных страниц и изменять адресс файла, а это не оптимизировано и не удобно.

Вот я и хочу сделать один файл в котором будет указано куда что ставить а в контенте будет указано какой надо вставить файл в зависимости от страницы на которую перешел пользователь. проверка if else и т.д. я пользоваться могу, но я не знаю даже как это делается чтоб проверялась ссылка. если честно не могу даже сформулировать то что мне надо. надеюсь вы поняли что я хочу сказать. если что переспрашивайте. заранее благодарен!

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Изменение контента страницы...
  2. Шаблон в одном файле, а остальные подключать в зависимости от страницы
  3. Запрет на индексацию страниц сайта и отдельных частей контента
  4. Изменение контента уже проиндексированной статьи
  5. Оптимизации текста страницы, или как побеждать контентом

#2 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 07 Апрель 2012 - 18:15

Kolovrat,
во-первых, с таким вопросом вам наверное лучше в раздел PHP форум
во-вторых, постарайтесь все-таки точнее сформулировать, что вам надо, иначе подсказать вам можно будет только что-то очень приблизительное.
Например, такое:

Файл с массивом вариантов выводимого текста в зависимости от страницы
array.php
<?php
$welcome['glavnaya'] = 'Добро пожаловать и т.д.';
$welcome['contacts'] = 'скайп такой то, ася такая то, адресс такой то и т.д.';
//и так далее массив соответствий 'имя страницы' - 'содержание'
?>
glavnaya.php
<?php
//подключаем массив вариантов
include 'array.php';
//берем имя страницы — 'glavnaya'
$page_name = basename($_SERVER['SCRIPT_NAME'], '.php');
//выводим шапку
include 'header.php';
//выводим блок текста, который изменяется в зависимости от имени страницы
echo '<div id="welcome">'.$welcome[$page_name].'</div>';
//иное содержание страницы в зависимости от ее имени,
//находится в файле content.php, который расположен в каталоге с именем, совпадающем с именем страницы
//например, для главной страницы это будет /glavnaya/content.php
include $_SERVER['DOCUMENT_ROOT'] . '/' . $page_name . '/content.php';
//выводим подвал
include 'footer.php';
?>
contacts.php
<?php
include 'array.php';
$page_name = basename($_SERVER['SCRIPT_NAME'], '.php');
include 'header.php';
echo '<div id="welcome">'.$welcome[$page_name].'</div>';
include $_SERVER['DOCUMENT_ROOT'] . '/' . $page_name . '/content.php';
include 'footer.php';
?>
и т.д.
  • 1

#3 Kolovrat

Kolovrat
    Topic Starter
  • Заблокированные
  • 61 сообщений
  • Репутация: 0

Отправлено 08 Апрель 2012 - 11:56

PHP я плохо знаю, по этому возможно не правильно понял ваш скрипт.

надо чтобы была одна страница на которой отмечено где находится шапка, контент и т.д. , затем уже файлы в которых сами данные страниц (главная и т.д.). то есть чтобы создать страницу мне надо было бы только добавить вставку файла этой страницы в том файлике о котором я писал в начале сообщения и создать его добавив в него текст в котором не надо будет набирать ни чего кроме содержимого страницы
  • 0

#4 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 08 Апрель 2012 - 14:40

Kolovrat,
давайте попробуем придумать, что вы хотите и как это можно реализовать. ^_^
Допустим, у вас такая структура страниц:
  • шапка
  • меню
  • содержание
  • подвал
И есть файлы с содержанием разных страниц glavnaya.php, contacts.php и т.д. без шапок и меню.
Как вы свои страницы предполагаете вызывать?
Поскольку, если обратиться просто к glavnaya.php или contacts.php, то сайт вам и покажет только это содержание без шапки, меню и прочего.
Поэтому есть, например, такие варианты.
Можно оставить вызов именно по именам ваших файлов:
  • glavnaya.php
  • contacts.php
и т.п., тогда в каждый такой файл нужно будет включить структуру:
<?php
include 'header.php';
include 'menu.php';
include '/glavnaya/content.php';
include 'footer.php';
?>
Именно такой вариант я вам предложил, с автовыбором содержания в зависимости от имени вызывающего файла. Потому что он довольно простой, предполагает структурированное расположение контента на сервере (в папках с именами по названиям страниц), не имеет подводных камней с безопасностью.
В этом случае содержание ваших файлов glavnaya.php, contacts.php и т.п. будет совершенно одинаковое, вот такое:
<?php
$page_name = basename($_SERVER['SCRIPT_NAME'], '.php');
include 'header.php';
include 'menu.php';
include $_SERVER['DOCUMENT_ROOT'] . '/' . $page_name . '/content.php';
include 'footer.php';
?>
А контент будет лежать в файлах 'content.php' в папках с именами, соответствующими именам вызывающих скриптов.
Отличаться они будут только своим названием и в зависимости от этого названия будут сами выбирать из какой папки брать свой контент.

Можно файл с разметкой вызывать с параметром в виде названия страницы:
  • index.php?page=glavnaya
  • index.php?page=contacts
и т.п.
тогда код файла index.php будет, примерно, такой
<?php
if (isset($_GET['page'])){
	$page_name = $_GET['page'];
	} else $page_name = 'glavnaya';
include 'header.php';
include 'menu.php';
include $page_name . '.php';
include 'footer.php';
?>
А содержание будет браться из файлов glavnaya.php, contacts.php и т.д.
В этом случае важно позаботиться о безопасности, чтобы в качестве параметра вам какую-нить хакерскую гадость не подложили.
Т.е. можно, например, составить массив допустимых параметров и проверять их допустимость при вызове.
  • 1


Оформление форума – IPBSkins.ru