Разделить Drupal 7 на 3 логических сайта

Главные вкладки

Аватар пользователя elf39 elf39 2 сентября 2013 в 12:19

Добрый день.
Делаю что то на подобие маленькой соц. сети. Несколько типов материала, фильтрую через Views и отображаю у пользователя что он добавил и после в категориях сайта сортиру все по рейтингу ноды. (Что то похожее на ria.ua, с верху есть разные темы сайта риа)
Но проблема возникла в следующем. Хочу добавить три направленности соц. сети. И что бы их объединял только пользователь. Он регистрируется в одном месте и везде у него одинаковый кабинет. Тем самым установка в разные папки разных друпалов отпала.
Вообщем сделать терминами меню и сделать на нем все не проблемма, все это придумал. Но вот тут то же уперся. Если человек переходит с ТЕМЫ 2 в чей то личный кабинет и смотрит что пользователь опубликовывал, то как ему попасть сразу в ТЕМУ 2 (где говорится про лыжи) а не в ТЕМУ 1 (где говорится про ролики). Т.е. как то нужно отслеживать с какой из ТЕМ пришол пользователь в личный кабинет и менять в зависимости от ТЕМЫ меню и крошки, что бы навигация сохранила свою целостность.
Вот теперь вопрос можно ли это сделать каким то из модулей типа RULES или нужно дописывать код по кукам с какой ТЕМЫ пришел пользователь, тогад это дописывать в модуле МЕНЮ и КРОШЕК? Но тогда при обновлении все слетит, или можно как то дописать что бы не слетело? Может кто то еще что то подскажет.

Комментарии

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 13:32

1. Domain Access наверное
2. В профиле у пользователей выводить опубликованные ими материалы через Views. Создать правило Rules, по которому в зависимости от перехода будет меняться выборка Views (фильтр). Уж не знаю насколько это можно сделать, копайте Rules.

Аватар пользователя elf39 elf39 2 сентября 2013 в 14:22

1. Спасибо, почитаю.
2. Наверное или вы не так поняли или я коряво написал (трудно объяснить). Нужно не фильтровать ноды у пользователя, а показывать главное меню ТЕМЫ той с которой перешли в пользователя. Т.е. если в профиль пользователя перешли с ТЕМЫ лыжи, то и главное меню показывать лыж, а не роликов. А если перешли из роликов то главное меню показывать роликов а не лыж. А насчет Rules, его знаю только очень поверхностно, вот и хотел узнать стоит в него углубятся, поможет он мне или нет?

Аватар пользователя elf39 elf39 2 сентября 2013 в 15:20

"elf39" wrote:
1. Спасибо, почитаю.

Почитал, установил, попробовал - не подходит. Можно создавать только на подменах, не устраивает, в дальнейшем продвижение затруднит. Нужно что то типа http://domains/ЛЫЖИ, http://domains/РОЛИКИ и тд.

"Niklan" wrote:
Мультисайтинг с общей для всех таблицей user (или как она там). Все остальные у каждого свои.

Спасибо за ответ, а каким модулем, или где почитать о этом? Мне кроме таблицы user нужно будет и другие таблицы общие делать, модуля Profile 2. Ко всему я хотел что бы у пользователя на странице его добавленный материал не только с одной темы выводил а со всех тем, просто под табами скрыл бы.

Аватар пользователя elf39 elf39 2 сентября 2013 в 16:48

"Kremenetskiy" wrote:
Это views, как я уже писал, или тупо термины таксономии из коробки

Вьюс тут не подойдет, представлением можно выводить ноды в зависимости от условий, а мне нужно вывести блок (главное меню) в зависимости от страницы перехода и причем только в личном кабинете пользователя, т.е. в [module=Profile2]

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

Нашел кажется решение, но не хватает знаний Друпала. Если через блок вывести главное меню а в блоке уже указать как и где его отображать, через правила PHP, такое реально. Т.е. взять куки пользователя при переходе в личный кабинет и если он перешел с http://domains/ЛЫЖИ то показывать ему блок и так сделать на все менюшки. Только вот как привильно написать не могу понять.

Аватар пользователя Niklan Niklan 2 сентября 2013 в 17:11

"elf39" wrote:
Спасибо за ответ, а каким модулем, или где почитать о этом?

читайте про мультисайтинг. Я написал лишь один из вариантов, с нужными общими таблицами. Но он не единственный

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 17:14

"elf39" wrote:
Если через блок

Ну если сделать, чтобы профиль с лыжами и профиль с роликами был с разными адресами, то реально. Это опять через views делается. Делается два views. Один с адресом username/лыжи другой username/ролики И в обоих выводятся поля профиля пользователя. А уже в зависимости от адреса по %/лыжи и %/ролики можно выводить блоки с меню. Типа того)

Аватар пользователя elf39 elf39 2 сентября 2013 в 17:50

"Kremenetskiy" wrote:
Ну если сделать, чтобы профиль с лыжами и профиль с роликами был с разными адресами, то реально. Это опять через views делается. Делается два views. Один с адресом username/лыжи другой username/ролики И в обоих выводятся поля профиля пользователя. А уже в зависимости от адреса по %/лыжи и %/ролики можно выводить блоки с меню. Типа того)

Smile Все с точностью да наоборот, мне нужно что бы все в профиле объединялось, а в остальном (главное меню и крошки) было разное.

"Niklan" wrote:
читайте про мультисайтинг

Да везде пишется только о таблицах. Конечно буду дальше искать, но может есть что то конкретнее.

Аватар пользователя elf39 elf39 2 сентября 2013 в 18:05

А можно как то поменять путь личного кабинета пользователя на ролики/username если я в роликах на лыжи/username если я в лыжах??? Останется тогда только проблема с дублями под seo, но это решаемо через robots.txt

Т.е. если я перешел по верхней вкладке как на http://www.ria.ua/ то что бы путь везде был http://site/ЛЫЖИ/*, пока не перейдешь на другую вкладку где путь будет http://site/РОЛИКИ/*

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 18:08

"elf39" wrote:
А можно как то поменять путь

Ну да. Например поставить в Views адрес лыжи/* Где * - это wildcard под аргумент имени пользователя. Тока не помню, ругается ли Views, если wildcard в конце адреса.. В шестерке вроде ругался..

Аватар пользователя elf39 elf39 2 сентября 2013 в 18:31

"Kremenetskiy" wrote:
адрес лыжи/* Где * - это wildcard под аргумент имени пользователя.

А разве не знак % ставится?

И что то не могу понят, этим можно изменить путь http://site/profile-main/23 ? Где profile-main это тип профиля модуля profiles 2

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 18:32

"elf39" wrote:
разве не знак %

В Views да. Я просто перепутал)) * ставится в блоках. Я не постоянно с Drupal общаюсь, время от времени))

Аватар пользователя elf39 elf39 2 сентября 2013 в 18:48

"Kremenetskiy" wrote:
Я не постоянно с Drupal общаюсь, время от времени))

Большое вам спасибо за помощь, хоть на мысль наталкиваете потихоньку. )))

Модуль profiles 2 убираем, вообще не понял нафиг я его поставил, он не чем не лучше стандартного USER. Но вопрос остался прежнем как мне переопределить url юзера, в зависимости от страницы с которой кликаю на него?

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 18:53

"elf39" wrote:
как мне переопределить url юзера, в зависимости от страницы с которой кликаю на него?

Как в зависимости не знаю, может какие то reference модули.. А чтобы адресок лыжи, ролики, или велосипеды автоматом подставлялся это wildcard по аргументу имени терминов таксономии лыжи, ролики, или велосипеды.

Аватар пользователя elf39 elf39 2 сентября 2013 в 19:12

"Kremenetskiy" wrote:
А чтобы адресок лыжи, ролики, или велосипеды автоматом подставлялся это wildcard по аргументу имени терминов таксономии лыжи, ролики, или велосипеды.

Тогда мне вьюсом придется кабинет пользователя собирать. Пытаюсь с помощью пазавто и токенов подставить, что то не могу связку подобрать, в шаблоне пользователя нельзя подставлять термин таксаномии )))

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 19:15

"elf39" wrote:
Тогда мне вьюсом придется кабинет пользователя собирать

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

"elf39" wrote:
в шаблоне пользователя нельзя подставлять термин таксаномии

Entity Tokens поставьте, там дополнительные токены будут, может и такой найдется.

Аватар пользователя elf39 elf39 2 сентября 2013 в 21:11

"Kremenetskiy" wrote:
Ну да, если модуля нет под индивидуальные задачи, а его скорее всего нет, то да.

Ну выхода нет думаю придется собирать, но как пользователь сможет править свои данные и еще как тогда там сделать ярлыки как "все новости пользователя", "фото пользователя" и тд.?

Аватар пользователя elf39 elf39 2 сентября 2013 в 21:11

"Kremenetskiy" wrote:
Ну да, если модуля нет под индивидуальные задачи, а его скорее всего нет, то да.

Ну выхода нет думаю придется собирать, но как пользователь сможет править свои данные и еще как тогда там сделать ярлыки как "все новости пользователя", "фото пользователя" и тд.?

Аватар пользователя Antoniy Antoniy 2 сентября 2013 в 21:18

Проще тогда что бы профиль был типом материала с полями. Те же фотки - поля и галерея поля image. Новости - тоже поля.. Filed Collection посмотрите. Множественная Filed Collection и можно сделать в одном ноде много чего с кнопочкой "Добавить еще" и "Редактировать" для конкретной Filed Collection. Плюс группы полей Filed Group. Вообще такое лучше проектировать если есть хотя бы готовый дизайн макет.

Аватар пользователя elf39 elf39 2 сентября 2013 в 22:45

"Kremenetskiy" wrote:
Вообще такое лучше проектировать если есть хотя бы готовый дизайн макет.

Он есть в голове и на листиках ))) тут сам принцы получится ли в начале построить само ядро, а то проект не коммерческий и платить за написание с нуля нет возможности. Поэтому на дизайн и тратить время не хочется. С помощью полей не чего не выйдет, если проект разовьется то этих полей в ноде могут быть тысячи тогда ))). Придумал делать сверку по кукам с страницы перехода в шаблоне, и в зависимости от куда перешел пользователь, показывать ему разные регионы, так образом и дизайн уникальный смогу цеплять (хотя это уже излишество). Но вариант не очень правильный хотелось что то изящнее. Так что жду каких либо еще подсказав.
Все отписавшимся спасибо.