PHP «от руки» или различные сниппеты в CMS

Опубликовано Опубликовано в рубрике CMS, Drupal, PHP

Эта заметка пригодится начинающим сайтостроителям. Все мы начинали с нуля, а потому нет в этом ничего зазорного и плохого!

Поговорим о вставках php-кода в страницы, генерируемые CMS.

В качестве стенда возьмём CMS Drupal.

Итак, для чего же может понадобиться вызов php-сниппета? Кто-то скажет, что развитые CMS имеют множество модулей, которые тем или иным образом могут обойти необходимость знания языка php. Но окажутся неправы.

Разберём самый простой пример. Вам необходимо, чтобы некоторые ссылки на странице были видны только одному администратору. Как же это организовать? Приступим!

Для начала подготовим саму систему. Для вставки сниппета в используемой нами системе должен быть включен режим ввода PHP-кода. В CMS Drupal это делается следующим образом.

Зайдём в раздел администрирования модулей. Он находится по адресу admin/build/modules (Администрирование » Построение сайта » Модули). Активируем там встроенный модуль PHP filter

Drupal вставить PHP
Drupal вставить PHP

Данный модуль поставляется «из коробки», так что ничего скачивать не потребуется.

После данных манипуляций перейдём в раздел добавления (или редактирования) материала.

Чуть ниже поля «body», куда Вы, собственно собираетесь вводить будущий скрипт, по умолчанию находится вкладка «Input Type» или «Формат ввода». В ней выбираем radio-button «PHP-code».

Drupal вставка PHP
Drupal вставка PHP

Всё, система готова к бою. Начинаем программировать!

Не секрет, что все данные CMS хранятся в базе данных. В том числе и информация о пользователях. Однако просто так БД нам эти данные не отдаст. Взамен она потребует идентифицироваться. Что мы и сделаем.

$r=mysql_connect('<имя сервера>','<логин>','<пароль>'); // Подключение к серверу

Итак, к базе мы успешно подключились (если это не так, то при загрузке страницы система пошлёт Вас с ошибкой о невозвожности подключения к БД). Следующей итерацией будет проверка подключения к базе.

if (!$r) die('connect error: '.mysql_error());

Теперь нам необходимо выбрать базу данных, из которой мы будем брать данные. Эту базу данных Вы указывали при установке CMS. Если что, во многих CMS есть файл настроек, в котором хранятся логины, пароли и имена баз. В Drupal этот файл называется банально settings.php и лежит по адресу sites/default/. Для WordPress, на котором крутится данный блог, файлик называется wp-settings.php и находится непосредственно в корне файловой системы сайта.

Выбор БД. Сразу же проверим на ошибки.

$r=mysql_select_db('dallas805');                        // выбор базы
	if (!$r) die('select_db error: '.mysql_error());    // проверка выбора, выход при ошибке

Далее идёт обращение к глобальным переменным CMS Drupal. В различных системах они могут меняться. Из массива глобальных переменных мы достанем имя текущего пользователя и положим его в отдельную переменную.

$name = $GLOBALS['user']->name; ?>

Теперь у нас есть все необходимые данные. Можем разместить ссылки, которые будут видны только, скажем, пользователю с именем «root».

if ($name == "root") : echo "
Администрирование
Средство автора"; endif;

Текст внутри условия if естественно можете менять сами!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *