Drupal & Regular PHP Integration - PullRequest
2 голосов
/ 05 мая 2010

Я создаю новый веб-сайт с одним основным приложением и множеством страниц контента. Страницы с контентом в основном динамические, и мне нужен способ регулярного управления этим динамическим контентом. Основная функциональность основного приложения - это трехэтапный процесс или чтение пользовательских данных (страница ввода), чтение данных из MySQL (страница продукта) и отправка приложения на адрес электронной почты (страница приложения).

В идеале я хотел бы собрать основное приложение на обычном PHP и использовать Drupal для его возможностей по управлению контентом. Можно ли интегрировать Drupal и обычный PHP, как я предлагаю легко? У меня такое ощущение, что кодирование основного приложения в виде модуля (модулей) Drupal добавит уровни сложности, которые с самого начала трудно было бы кодировать, и которые впоследствии можно будет поддерживать по мере взросления системы, поэтому я действительно хотел бы использовать обычный PHP.

Позвольте мне объяснить, где динамический контент (управляемый CMS) пересекается с основным приложением:

Динамический контент, такой как данные часто задаваемых вопросов, используется как на «обычных» страницах справки, так и в мини-ленте, отображаемой на основных страницах приложения в правом нижнем столбце. В этом столбце 3 случайных вопроса извлекаются из базы данных и отображаются в виде канала. Когда пользователи нажимают на вопрос часто задаваемых вопросов, их не убирают со страницы продукта основного приложения, а вместо этого показывают данные во всплывающем окне, отображающем вопрос и ответ. Кроме того, пользователи могут просматривать другие вопросы и ответы через простое навигационное меню в этом всплывающем окне. Как я описал выше, есть 3 таких канала, которые мне нужны на странице продукта основного приложения.

Итак, что является идеальным решением с точки зрения «упрощения работы» как для управления динамическим контентом, так и для простоты кодирования основного приложения? Могут ли «обычный PHP» и Drupal сосуществовать «мирно»? Если да, то как это технически возможно? Поскольку на страницах основного приложения содержится некоторый контент, управляемый Drupal, может ли основное приложение по-прежнему быть закодировано на обычном PHP?

Любые советы / предложения? Спасибо! Джим.

Ответы [ 2 ]

1 голос
/ 05 мая 2010

Это часть поста, который я отправил несколько лет назад. К сожалению, связанная статья давно исчезла, но она все еще может иметь отношение к вашим потребностям:
Импорт автономных скриптов PHP старого стиля в систему Drupal
Система Drupal - это очень сильная CMS, но взять существующий сайт PHP и попытаться навязать его на Drupal может быть трудной задачей. «Правильный» способ конвертировать сайт в Drupal - это «Drupalize», то есть делать все «способом Drupal», что действительно правильно, но в некоторых случаях с этим согласны не все.

У меня был пример с компанией, которая имеет много сайтов на основе HTML / PHP. Они узнали о гибкости и силе Drupal и решили, что это их выбор для революции. Но, с другой стороны, они хотят ничего не менять, и я сделаю это как можно быстрее.

«Правильный способ» сделать это - разбить каждый PHP-скрипт, который у них есть, на куски, найти общее достояние, создать правильную методологию с существующими модулями Drupal и заполнить пробелы моим собственным дополнительным модулем.

Но это не то, что они просили меня сделать - вместо этого я искал способ просто импортировать существующий PHP-скрипт в среду Drupal.

Поиск существующего решения привел меня к испытанию концепции , описанному Дэн Моррисон . В нижней строке он использует команды буферизации вывода PHP, которые он собирает все, что делает старый скрипт, а затем отображает его как часть модуля Drupal. В моем случае мне пришлось сделать несколько небольших изменений (в основном, чтобы передать переменные из запроса в PHP в соответствующей области), но в итоге он сделал именно то, что мне было нужно. Ну, почти ... В других случаях, в которых я хотел использовать API форм Drupal, я обращался с ним по-другому, как я опишу позже.

0 голосов
/ 05 мая 2010

Звучит так, будто вы спрашиваете о двух вещах:

  1. Включение контента Drupal в пользовательское PHP-приложение.
  2. Отображение содержимого Drupal во всплывающем окне из приложения PHP.

Существует несколько различных уровней интеграции - если вам нужно просто вставить содержимое на страницу, вы можете просто создать представление (http://drupal.org/project/views) с этим содержимым из Drupal, которое вы можете сделайте его доступным и включите в свое веб-приложение.

Если вы ищете более тесную интеграцию между ними, включая совместное использование пользователей, сеансы и т. Д., То, вероятно, это также «возможно», но потребуется дополнительная информация, чтобы понять, что вам нужно.

...