Перейти к контенту
  • 0

Общие страницы форума с разным стилем, как???


Вопрос

Здравствуйте, гуру!

 

Подскажите, направление решения (или само решение) для следующей задачки.

 

Имеется 2 категории форумов: А и Б. У каждого форума из этих категорий задан свой стиль соответственно.

Но требуется возможность вывода этих категорий независимо друг от друга, т.е. как будто каждая категория единственная на сайте. Соответственно общие страницы форума (Пользователи, Друзья, Календарь, ...) должны быть показаны тем стилем, который задан для категории просматриваемой пользователем.

 

с ИПБ я недавно, поэтому буду рад любой информации (полезной!).

Заранее всем ответившим СПАСИБО.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

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

В 1.х это так и происходит: из какого форума запрошена страница, в том скине она и будет показана.

В "двушках" не так?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Судя по отсутсвию активности, могу предположить следующие варианты:

 

1) Решение заданного вопроса является тривиальным. След-но, великие, очень великие и не очень великие мастера, гуру, сенсеи и пр. не считают нужным тратить свои силы для ответа. (оч.жаль или все уже в отпусках ???)

 

2) Решение отсутствует в принципе. Т.е. сколько не парься, не стучись головой об танк, сдвинуть его не получиться. (этот вариант я считаю теоретическим, т.к. спрограммировать можно все)

 

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

 

Придется ждать пока тов. Volkodaff предложит какое-нить решение и выложит его на всеобщее обозрение ...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вариант 3

 

Вот так надо объяснять (пример схемы):

 

 

Категория1

- Форум 1 - ставишь стиль 1

- Форум 2 - ставишь стиль 1

 

Категория2

- Форум 3 - ставишь стиль 2

- Форум 4 - ставишь стиль 2

 

При клике на форум 1 загружается стиль 1, при клике на форум 4 загружается стиль 2

И так что же нужно применительно к моей схеме?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
И так что же нужно применительно к моей схеме?

Применительно к твоей схеме, если я просматриваю форум 3, и из страницы топика нажимаю кнопочку поиска, или ПМ-ки, или окошка помошника - эти странички у меня (в 1.х) откроются в стиле 2.

У топикстартера, похоже, обратная проблема в "двушке": из какого форума не жми, всегда открывается в стиле 1...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Именно так, как говорит FatCat.

 

В списке стилей перечислены стиль 1 и стиль 2 (не считая стандартного, но со стандартным стилем не связан ни один форум).

Для форумов из категории 1 задан стиль 1, а из категории 2 - стиль 2.

 

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

 

Вобщем, созрел такой план решения. Высказывайте свое мнение.

 

1) При старте сессии (т.е., заходе юзера) в сессию добавить переменную (напр, user_skin), в которой сохранить стиль открываемого форума.

 

2) При выводе общих страниц и наличии переменной (user_skin) в сессии, определить выводимый стиль в соответствии с ее значением.

 

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ммм.. т.е. у тебя по умолчанию задан стиль "Стиль 1" и общие страницы открываются стилем 1. А тебе надо чтобы открывалось стилем 2?

 

Вопрос1: в какой именно момент?

Вопрос2: как общие страницы форума могут узнать, что тебе именно сейчас надо открыть "стилем 2", а не "стилем 3" и не "стилем 10" ?

 

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вопрос1: в какой именно момент?

Вопрос2: как общие страницы форума могут узнать, что тебе именно сейчас надо открыть "стилем 2", а не "стилем 3" и не "стилем 10" ?

 

Обращения к форуму изначально производятся извне, и при этом выводится только одна категория. Т.е. с сайта ххх1 открывается категория 1, а с сайта ххх2 - категория 2. Получается категории как бы независимы, но у них общая база пользователей.

Таким образом, ответ на вопрос 1: Момент определяется тем какой форум открыл пользователь (на форум какой категории попал пользователь, тем стилем все остальное и показывать).

 

По вопросу 2. Поэтому и предлагаю задать при первоначальном открытии форума (т.е. старте текущей сессии) переменную с записанным стилем. Если пользователь открывает старницу не форума и не топика, то выводить в соответствии со значением этой переменной.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Момент определяется тем какой форум открыл пользователь (на форум какой категории попал пользователь, тем стилем все остальное и показывать).

 

Дык а с форумами-то (showforum=x в смысле) я так понимаю что проблем быть не должно. Назначаешь определённый стиль для этого форума в админке, он этот стиль и откроет.

Или ты путаешься в понятиях.

Что ты в своей цитате имел ввиду под "какой форум"?

 

По вопросу 2. Поэтому и предлагаю задать при первоначальном открытии форума (т.е. старте текущей сессии) переменную с записанным стилем. Если пользователь открывает старницу не форума и не топика, то выводить в соответствии со значением этой переменной.

 

 

А если он сразу откроет какую-то общую страницу? Перед тем как откроет страницу showforum=x ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Момент определяется тем какой форум открыл пользователь (на форум какой категории попал пользователь, тем стилем все остальное и показывать).

 

Дык а с форумами-то (showforum=x в смысле) я так понимаю что проблем быть не должно. Назначаешь определённый стиль для этого форума в админке, он этот стиль и откроет.

Или ты путаешься в понятиях.

Что ты в своей цитате имел ввиду под "какой форум"?

 

Вот это showforum=x. Категория открывается по такой же ссылке. Для всей категории и форумов в ней и их подфорумов задан один стиль. Для другой категории (с ее внутренностями) задан другой стиль.

С ними нет проблем, в админке все задано. Вопрос был про общие страницы.

 

По вопросу 2. Поэтому и предлагаю задать при первоначальном открытии форума (т.е. старте текущей сессии) переменную с записанным стилем. Если пользователь открывает старницу не форума и не топика, то выводить в соответствии со значением этой переменной.

 

 

А если он сразу откроет какую-то общую страницу? Перед тем как откроет страницу showforum=x ?

 

Тогда придется либо отобразить стиль по умолчанию, либо записать последний стиль в профиль пользователя. Это пока совсем мутный момент. К тому же вероятность такой ситуации практически нулевая. Возможна, например, если пользователь сохранил в закладках адрес страницы.

И в принцепе пока к теме топика не относится :D .

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ну тогда создай в ibf_members поле last_skin_id

туда при открытии форума или топика пиши текущий скин_ид

 

при загрузке скина загружай скин согласно данных этого поля..

 

Точнее даже и поле создавать не надо. Оно там уже есть.

Пиши в него текущий скин.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну тогда создай в ibf_members поле last_skin_id

туда при открытии форума или топика пиши текущий скин_ид

 

а если это гость?

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если гость.. сам виноват.

 

Просто сессии имеют обыкновение уничтожаться каждые N минут.

Соответственно каждый раз на старте новой сессии юзер, если не успел войти на определённый форум, будет получать на общих страницах скин по умолчанию.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Посмотрел как в 1.х сделана привязка скина "служебных" страниц.

Оказывается, через &f=хх в строке запроса.

Пример:

index.php?act=Members - в дефолтном скине;

index.php?act=Members&f=2 в скине форума с ID-ом 2.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

FatCat

а для чего нужна такая ссылка:

 

index.php?act=Members&f=2

 

?

 

Связка есть там где она нужна. В других местах её нет. Всё универсальное берётся из ibf_members и ibf_sessions, ibf_skin и т.д.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
FatCat

а для чего нужна такая ссылка:

 

index.php?act=Members&f=2

Ссылки кликабельные. Посмотри разницу.

 

Пример для чего может быть нужно:

Страница сайта при просмотре через форумный скин может быть отредактирована модератором как обычный топик форума.

У меня в опциях модератора сделана возможность такого отображения.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Всё-равно не понял.

Мне не понятно зачем нужен идентификатор &f=xx на странице memberlist

 

он там не используется.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Всё-равно не понял.

Мне не понятно зачем нужен идентификатор &f=xx на странице memberlist

 

он там не используется.

Идентификатор нужен для использования скина не по дефолту, а того, который пришит к форуму, задаваемому модификатором.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Посмотрел как в 1.х сделана привязка скина "служебных" страниц.

Оказывается, через &f=хх в строке запроса.

Пример:

index.php?act=Members - в дефолтном скине;

index.php?act=Members&f=2 в скине форума с ID-ом 2.

 

Спасибо тебе, уважаемый FatCat!!! Как всегда, все гениальное просто. В 2.2.2 все также делается, через f=xx. А я уже хотел половину кода переписать. :D

Придется отложить до следующей загвоздки.

Делов-то оказывается всего-то: в стиле ссылочки подправить.

 

Еще раз: СПАСИБО, FatCat! такой груз с души свалился....

 

P.S. Да, работать-то работает, но это каждую ссылочку ручками править весьма утомительное занятие. Пока сделаю так, что б было. Но думаю все-таки взвалить на сессию данную работу.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ммм.. ну вообщем я бы так не делал.

Криво это. С точки зрения программиста.

 

Идентификатор нужен для использования скина не по дефолту, а того, который пришит к форуму, задаваемому модификатором.

И работает? :D

 

Я бы сделал так:

 

1) Для мемберов бы писал в ibf_members

2) Для гостей бы

вариант а) писал в ibf_sessions и увеличил время сессии

вариант б) в ссылку

 

Смысл в том, что как можно меньше сделать влияение визуальных изменений. Это моё такое ИМХО.

Да и передавать через ссылку внешние идентификаторы, это увеличивается трафик и интерес любопытных юзеров к ним.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.