Drupal: контент FB, YouTube, Flickr, Twitter для Panel 3

Вот фон:

Есть X учителей. Каждый учитель представляет собой тип контента (Person) с настраиваемыми полями. (Я использую CCK для создания дополнительных настраиваемых полей). Каждый учитель имеет свою учетную запись FB, YouTube, Flickr, Twitter на соответствующих сайтах.

URL-адрес моего веб-сайта выглядит следующим образом:

www.example.com/all-teachers — покажет в основном биографию всех учителей — я сделал эту часть. Когда пользователь нажимает на любого учителя, он должен перейти по указанному ниже URL-адресу.

www.example.com/all-teachers/teachername — здесь мне нужна помощь.

Я хотел бы получать содержимое с веб-сайтов FB, YouTube, Flickr, Twitter для каждого учителя и отображать его с помощью модуля панели 3. (Я уже создал пользовательские панели, которые работают нормально).

Может ли кто-нибудь помочь, как мне это сделать?


person sticky2010    schedule 15.03.2011    source источник


Ответы (1)


В основном это вопрос Drupal + Panels, и вы спрашиваете о «контексте».

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

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

Страница панели: /all-teachers/!teachername !teachername — это контекст аргумента, который должен быть именем термина таксономии.

Панели переварят этот аргумент и предоставят вам целое семейство контекстных переменных. Вы редко работаете напрямую с аргументами... вы работаете с переменными контекста. Помните об этом, потому что люди часто их путают.

Теперь создайте таксономический словарь «Все учителя» (имя не имеет значения). Пополнение словарного запаса терминами и определениями. Определения будут отображаемым именем учителя, "Боб Смит".

Теперь создайте 4 разных типа контента (например, FB, YouTube, Flickr, Twitter). Пока просто используйте Body, так как это пример контекста.

Для каждого учителя создайте 1 из вышеперечисленных статей контента и в каждом магазине сохраните ССЫЛКУ на внешнюю страницу этого учителя... FB, YT, Flickr и т. д. Да, это просто ссылка, а не "их контент", а ваш контекст. сначала работайте с этим примером.

Теперь создайте 4 представления, по одному отфильтрованному для каждого из 4 типов контента и использующих аргумент термина таксономии. Попробуй это. Представление «facebook», когда ему дается аргумент «bob-smith», выводит ли оно адрес Facebook Боба Смита?

Вы на полпути — вы связали имя учительской машины с содержимым/выводом. Вы можете добавить эти 4 панели просмотра в область содержимого страницы в Панели. Просто представьте, что эти URL-адреса являются реальными данными канала контента.

Теперь, к сожалению, каждый из этих веб-сайтов имеет свой собственный способ поиска или встраивания / подписки на некоторые каналы учителей. Вам нужно будет собрать все эти URL-адреса подписчиков для каждого из этих веб-сайтов. Поместите этот контент в те узлы контента, которые вы тестировали, для Боба Смита. Вам МОЖЕТ понадобиться отредактировать эти 4 типа контента и разрешить «Полный HTML» или отредактировать отфильтрованный HTML, чтобы разрешить все, что требуется (iframe, объект и т. д., если это так).

Возможно, я не объяснил это наилучшим образом, но это большая задача. Разбейте проблему на части, если у вас есть проблемы. Например, если кажется, что каналы вашего учителя не работают, просто жестко закодируйте свой тест для одного учителя (исключая контекст из проблемы) и жестко запрограммировав его для одного /node/nid, если вам нужно (полностью убирая панели из картины). ).

Идея состоит в том, что каждая из этих 4 панелей контента будет получать внешние данные, а об остальном — об отображении — должны заботиться панели.

person Scott Prive    schedule 18.11.2011