Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Скрыть/показать элемент контента (http://forum.typo3.ru/showthread.php?t=7583)

Fkor 10.04.2009 16:31

Скрыть/показать элемент контента
 
Доброго времени суток!
Кто-нибудь сталкивался с такой задачей:
- нужно сделать так, чтобы пользователь сайта мог скрыть / показать определенный элемент контента страницы, с запоминанием состояния.

dmartynenko 12.04.2009 21:54

Задача легко решаема дописыванием небольшого eID модуля...
Но... Лучше опишите какую в целом задачу вы этим хотите решить. Возможно есть более интересные решения.

Fkor 13.04.2009 10:44

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

Fkor 24.08.2009 16:42

Цитата:

Сообщение от dmartynenko (Сообщение 24093)
Задача легко решаема дописыванием небольшого eID модуля...

Если возможно, чуть подробнее..:)

dmartynenko 24.08.2009 19:43

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

Задача с одной стороны типовая, с другой весьма не тривиальная.
Так как показать/скрыть реализовать достаточно просто. Другое дело потом захочется дать возможность настраивать эти элементы, менять местами и т.п.

Вот пример для BE: myDashboard - http://forge.typo3.org/projects/show/typo3v4-dashboard
http://typo3.org/extensions/reposito...board/current/
http://typo3.org/documentation/docum...d/0.1.12/view/
правда в репозитории почему-то на данный момент отсутствует...

И даже есть инициативы для FE, правда без какого-либо результата:
http://forge.typo3.org/projects/show...on-fedashboard
http://dmitry-dulepov.com писал что-то такое делает для латвийского портала и выложит в репозиторий. Но сейчас найти не могу и ничего такого не видел.

Если вы хотите кратко суть как это можно сделать, то примерно так:
1. Элементы для показа на странице хранятся в отдельном SysFolder - это обычные CE, которые могут быть чем угодно - текстом, плагином и т.п.
2. Вы создаете свой экст, которые выводит на страницу пользователей эти элементы через AJAX, в зависимости от состояния элементы для конкретного пользователя (см. ниже).
3. Также создаете отдельную табличку для запоминания состояния элементов: (код элемента, код пользователя, состояние)
4. Делаете eID скрипт который будет обрабатывать действия пользователей показать/скрыть, запоминает в вашей табличке и возвращать также через AJAX отдельный элемент или только его шапку с кнопкой "показать".

Казалось бы полезная штука... Но имхо до сих пор никем не сделано из-за того, что все упирается в *настройку* элементов. А эта задача совсем не тривиальная, учитывая потенциально большое их разнообразие. Да и TYPO3 не портальная система - в ней гибкая функциональность для FE пользователей не заложена.

Можете посмотреть реализацию myDashboard - в нем есть механизм, позволяющий создавать и встраивать свои Widgets.

Valery Romanchev 24.08.2009 21:41

еще вот это посмотрите http://typo3.org/extensions/reposito...ortal/current/
еще можно в репозитории поискать... что-то еще может быть

dmartynenko 25.08.2009 13:24

Цитата:

Сообщение от Valery Romanchev (Сообщение 25372)
еще вот это посмотрите http://typo3.org/extensions/reposito...ortal/current/
еще можно в репозитории поискать... что-то еще может быть

Заинтересовался и решил посмотреть. Так как документации никакой нет - полез в код.
Изменения вносятся прямо в tt_content - т.е. если один пользователь что-то поменяет, поменяется у всех.
Но как пример для создания чего-то большего очень даже ничего, видимо по этому в название автор добавил Framework. Главное есть связка с JavaScript (prototype) и eID - именно в том виде, что я описал выше.

Fkor 29.01.2010 17:10

Вот то, что я имел ввиду
 
http://www.rggooglemap.com/dev/personalpage.html
Но, к сожалению, автор не выложил еще в TER...


Часовой пояс GMT +4, время: 07:39.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot