Intellect Board Pro
Расширяемая система управления форумами с открытым исходным кодом
Объявление
Выпущена версия 3.02 с двумя новыми типами разделов: блог и микроблог.
Перейти к скачиванию
Привет, гость!

Плавающие блоки (+ 'рыночные' отношения)

придают веб-страницам особую функциональность…

Настройки отображения темы Показывать по сообщений с сортировкой .
Выводить , отправленные .
Правила раздела
Страницы:
Распечатать
_1_
Участник
Всего сообщений: 232
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0
10 января 2016, 00:12. Редактировалось 6 раз, последний — 15 декабря 2017, 22:58#1
    Уж больше года жду появления нижеследующих возможностей. Чтоб они появились, попробую поторговаться. ))


    У меня есть материалы о плавающих блоках. Их можно применить к форумам.
    Это эксклюзив! Ещё нигде такого не встречал. Здесь «продам» его за какие-либо существенные шаги в сторону воплощения альтернативных планов: (; хотя бы – п.13)

    Но главное – это платёжно-оценочный сервис... Таких возможностей здесь пока нет. Вообще, платёжные и оценочные функции в этом движке практически отсутствуют Поэтому – предлагаю бартер ...

    -


    У плавающих блоков применение очень широкое..!
    Странно, что пока до них всерьёз ещё не дошло внимание разработчиков и пользователей

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

    _1_
    Участник
    Всего сообщений: 232
    Зарегистрирован: 14 окт 2014, 09:11
    Рейтинг пользователя: 15

    0
    15 января 2016, 16:41. Редактировалось 4 раза, последний — 18 марта 2016, 12:26#2
      <  от nikola2278:
      А можно сделать так: когда я нажимаю на кнопку [цитировать], в мое сообщение добавляется ID_поста из базы. Потом, когда я нажимаю над цитатой на стрелочку-ссылку, меня перекидывает на новую вкладку где одно это цитируемое сообщение появится полностью. А рядом с ним будет форма ответа.


      Я бы в этом случае вместо "новой вкладки" попросил плавающий блок. Он похож на всплывающее окно, но на объектном уровне принадлежит этой же вкладке. Удобство в том, что его можно таскать по странице, и открывать рядом с цитируемым сообщением. Кроме того, разными методами (...) можно частично копировать в блок содержимое с цитируемой страницы. При этом, скрипты и стили, которые действуют на странице, будут действовать и внутри плавающего блока.


      Блок правающий. А это значит, что он сам 'плывёт' в ту часть страницы, куда вы перемещаетесь. И, для удобства ответов, такое псевдоfixed-позиционирование  можно использовать двумя способами:
            


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


      nikola2278
      Новичок
      Всего сообщений: 2
      Зарегистрирован: 2 янв 2016, 23:59
      Рейтинг пользователя: 2

      0
      19 января 2016, 01:38#3
        _1_У данного пользователя нет прав размещать ссылки!:
        [tree]<JSON- или HTML-формат>[/tree] 
        как вариант

        В /lib/bbcode.php добавь self::$ext_search[]='|\[object=([^\]"\']+)\](.*?)\[/object\]|s'; self::$ext_replace[]='<object type="text/html" width=100% height="$1" data="$2"></object>'; потом в сообщении если [object=100]http://site.ru/vstavkahtml/stranika.htm[/object] по адресу естественно должна быть страница в сообщении изменится на <object type="text/html" width=100% height="100" data="http://site.ru/vstavkahtml/stranika.htm"></object> проще говоря мы вставим страницу в сообщение, ну а в сообщении уже что душе угодно.


        nikola2278
        Новичок
        Всего сообщений: 2
        Зарегистрирован: 2 янв 2016, 23:59
        Рейтинг пользователя: 2

        0
        19 января 2016, 02:15#4
          _1_У данного пользователя нет прав размещать ссылки!:
          [tree]<JSON- или HTML-формат>[/tree]  - для вставки динамических деревьев непосредственно в посты.


          как вариант.
          в CSS

          ul { padding-left: 20px; }

          потом в /lib/bbcode.php

          self::$search[]='|\[ul\](.*?)\[/ul\]|s'; self::$replace[]='<ul>$1</ul>'; self::$search[]='|\[li\](.*?)\[/li\]|s'; self::$replace[]='<li>$1</li>';

          можно в тот блок там где u i и так далее теги типа так

          self::$search[]='|\[b\](.*?)\[/b\]|s'; self::$replace[]='<b>$1</b>'; self::$search[]='|\[i\](.*?)\[/i\]|s'; self::$replace[]='<i>$1</i>'; self::$search[]='|\[u\](.*?)\[/u\]|s'; self::$replace[]='<u>$1</u>'; self::$search[]='|\[s\](.*?)\[/s\]|s'; self::$replace[]='<s>$1</s>'; self::$search[]='|\[sup\](.*?)\[/sup\]|s'; self::$replace[]='<sup>$1</sup>'; self::$search[]='|\[sub\](.*?)\[/sub\]|s'; self::$replace[]='<sub>$1</sub>'; self::$search[]='!\[color=([a-z\-]+|#[0-9a-f]{3,6})\](.*?)\[/color\]!s'; self::$replace[]='<span style="color: $1">$2</span>'; [color=#ff6666] self::$search[]='|\[ul\](.*?)\[/ul\]|s'; self::$replace[]='<ul>$1</ul>'; self::$search[]='|\[li\](.*?)\[/li\]|s'; self::$replace[]='<li>$1</li>';[/color]

          потом в сообщении

          [ul] tyuuytuyuytuyuyuuytu [li]1111111111[/li] [li]2222222222[/li] [ul] [li]qqqqqq[/li] [li]wwwww[/li] [/ul] [/ul]

          выглядеть будет как то так


          Прикрепленные файлы:
          • Screenshot_204.png

          _1_
          Участник
          Всего сообщений: 232
          Зарегистрирован: 14 окт 2014, 09:11
          Рейтинг пользователя: 15

          0
          20 марта 2016, 08:14. Редактировалось 7 раз, последний — 31 марта 2016, 13:47#5
             
            nikola2278: в постах (#3, #4)  писал о возможностях представления деревьев средствами форумского движка.
            Но я пришёл к пониманию, что деревья лучше генерировать на стороне пользователя. И не на странице форума, а в плавающем окне. То есть, интерактивное дерево ссылок должно плавать поверх страницы форума. Все эти задачи решены. Причём, решены разными способами:

            1)Самый функциональный способ: представлять дерево во фрейме
                <iframestyle="width: 100%; height: 100%;" src="..."></iframe>

            (то есть, в виде специально сгенерированной  html-страницы, которая управляет каталогом файлов. Тут возможности безграничны!... Вопрос только в файловом хостинге, где пользователь сможет разместить этот массив файлов. Повторюсь, что вполне логично предоставлять хостинг средствами форума (так как вся информация будет в одном месте).
            2)Деревья представлять иерархическим списком: <li><ul> со скриптовой обвязкой. Тут напрашиваются два варианта скриптов:
            • Две простейших функции, которые используются в ScrapBook: (i)
               
              i
                  <script><!--
                  function toggle(aID) {
                      var listElt = document.getElementById(aID);
                      listElt.style.display = ( listElt.style.display == "none") ? "block": "none";
                  }
                  function toggleAll(willOpen) {
                      var ulElems = document.getElementsByTagName("UL");
                      for( var i = 1; i < ulElems.length; i++ ) {
                          ulElems[i].style.display = willOpen ? "block": "none";
                      }
                  }
                  //--></script>
               
              <bodyonload="toggleAll(false);">
               
              <ulid="folder-root">
                  <liclass="depth1"><aclass="folder" href="javascript:toggle('folder-20160103141912');"><imgsrc="./folder.png"></a>
                  <ulid="folder-20160103141912"><ahref="../data/20160122160110/index.html" target="main" class=""><imgsrc="../data/20160122160110/favicon.ico">Sprosi.Su: личный форум 4X_Pro</a>
                      <liclass="depth2"><aclass="folder" href="javascript:toggle('folder-20160121144355');"><imgsrc="./folder.png">Обновившиеся темы</a>
                          <ulid="folder-20160121144355">
                              <liclass="depth3"><ahref="..." target="main"><imgsrc="...">_1_</a>
                              <liclass="depth3"><ahref="..." target="main"><imgsrc="...">_2_</a>
                              <liclass="depth3"><ahref="..." target="main"><imgsrc="...">_3_</a>
                              <liclass="depth3"><ahref="..." target="main"><imgsrc="...">_4_</a>
                          </ul>
                    </ul>
              </ul>



            • Очень навороченный функционал DinaTree ().
              Здесь такая технология: а) список вставляется в плавающий блок,  б) контекстной кнопкой этот список из блока копируется в html-шаблон (где уже есть все скрипты), и созданная таким способом html-страница открывается в отдельном плавающем окне.


             
            --

            В общем, вопрос о древовидных оглавлениях решён до стадии практического пользования. Это решение базируется на следующих гениальных придумках:
             
            1.
             Подобно адресной строке броузера, каждый блок имеет универсальную строку ввода. Кроме URL  и  javaScript  туда можно вводить HTML-код.
            А к скриптовому способу относится, например, ввод id: если такой DOM-блок есть на текущей странице, то соответствующий innerHTML  появится внутри плавающей contentarea.
             
             
            2.
             Оглавления наиболее эффективны вне страниц, которыми они управляют. Это похоже на технологию фреймов: когда из одного фрейма ссылки открываются в другом.
            Плавающие блоки позволяют открывать своё содержимое в отдельном окне (и из этого плавающего окна управлять другими вкладками броузера). Чтобы вытащить контент в отдельное окно, сначала нужно надёргать чего-нибудь в плавающий блок, а потом нажать контекстную кнопку.



            ==
                     



            Итак, насчёт любых оглавлений вопрос решился.
            Теперь, для полноценного форумского плагина осталось выполнить важнейшую работу: создать платёжно-оценочный интерфейс. Ну и + создать всякую мелочь, типа персонального хостинга форумских файлов ().

            Прикрепленные файлы:
            • Из плавающего блока - в `плавающее` окно.jpg

            _1_
            Участник
            Всего сообщений: 232
            Зарегистрирован: 14 окт 2014, 09:11
            Рейтинг пользователя: 15

            0
            31 марта 2016, 13:19#6

                 
                 html-страница   – в роли БД   %-)



               
              В этом режиме схема применения плавающих
              блоков продолжает концепцию комплексного
              использования TreeView совместно с фреймами:   
                
               
               
              Отличия и усовершенствования:
               
              1.  В плавающем блоке можно открывать не только ссылки, но и  DOM id  с текущей страницы. Это позволяет выбирать конкретные посты из множества загруженных сообщений. Если блок полностью развёрнут, то сама страница не видна. Она выступает в роли базы данных: innerHTML поступает из неё  в любой из блоков (которые в ней плавают). А из блока уже можно поднять контент поверх страницы (в плавающее окно).

              2.  Но блоки не связаны с этой базой однозначно. Контент в них можно грузить и вручную (разными способами…). Например, через универсальную строку в блок можно ввести innerHTML сразу нескольких постов, которые, на самом деле, находятся в разных темах (лишь бы css более-менее совпадали).
               
              В связи с этими возможностями надо бы разрешить пакетную загрузку списка сообщений. Например, такой список можно сформировать из всех узлов TreeView. То есть, потребуется формировать html-страницы из сообщений, идентификаторы которых последовательно расположены в списке-запросе (пусть даже эти посты не из одной темы).
              Чтобы не спутать такие страницы с обычными страницами форумов, достаточно изменить цвет их фона.
               
              Понятно же, что, в нижнем пределе, этот список может состоять из единственного id. => Опять вернулись к старому разговору о возможности получить от сервера страницу, состоящую из одного поста:  ().

                 Система адресации постов и вложений
                 # сам не раз ругался, сталкиваясь с подобным
               
              Спец.интерфейс тут ни при чём. Он весьма перспективен. Ругаться надо на тех, кто неправильно его применяет. Например, Вы же не станете наказывать разработчика СУРБД за то, что кто-то из пользователей выложил базу без интерфейса? 'Голые таблицы' неудобны для просмотра; из низ ничего невозможно понять. Но разработчик СУРБД тут не виноват. Виноват безграмотный пользователь.

              _1_
              Участник
              Всего сообщений: 232
              Зарегистрирован: 14 окт 2014, 09:11
              Рейтинг пользователя: 15

              0
              1 апреля 2016, 11:35#7

                Предыдущий пост можно было бы озаглавить иначе:
                        Плавающие блоки – как способ выделения контента

                До сих пор имелось в виду, что 
                выделить фрагмент – значит: сфокусироваться на нём,  + маркировать инверсией или цветом.


                    Но плавющие блоки дают альтернативный способ.
                    Выделить блоком – значит: переместить или скопировать соответствующие фрагменты в этот блок.
                Одна из особенностей:
                    при таком "выделении" возможен 'адаптивный дизайн'. Например, менять размеры или масшатб блока без изменения масштаба текущей страницы (и без перегруппировки её содержимого).


                _1_
                Участник
                Всего сообщений: 232
                Зарегистрирован: 14 окт 2014, 09:11
                Рейтинг пользователя: 15

                0
                20 декабря 2016, 18:52#8


                   
                  Пример кода интерактивного меню, которое  можно в txt-режиме добавить к любой html-странице:
                  Код интерактивного Оглавления
                  <div style="width: 250px; display: block; opacity: 1; visibility: visible; left: 15px; top: 147px; z-index: 105;" class="jaw_skin_windowsxp_blue" id="window1"><table width="100%" height="100%" style="position:relative;"><tbody><tr><td class="border00"><div></div></td><td width="100%" class="border10"><div class="jaw_handle"><div class="jaw_header">iframe</div><div class="jaw_skin_windowsxp_blue_controls"><table><tbody><tr><td><div style="display: block;" class="jaw_minimize" title="Minimize"></div></td><td><div style="display: block;" class="jaw_close" title="close"></div></td></tr></tbody></table></div></div></td><td class="border20"><div></div></td></tr><tr><td class="border01"></td><td height="100%"><div style="height: 150px; width: 240px; overflow: hidden; display: block;" class="jaw_contentarea">&nbsp;<iframe src="http://test1.ru/html%20TreeView/html/TreeView%20%20_2016_12_18__23_28_49.html" style="border: 0px none; margin: 0px; padding: 0px; width: 100%; height: 100%; visibility: visible;" id="_iframe-window1" name="_iframe-window1"></iframe></div><div style="display: block;" class="jaw_statusarea"><div title="text" class="jaw_menu" onclick="Jw = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode; return dm_popup(0, 500, event, Jw.offsetLeft + 5, Jw.offsetTop + Jw.offsetHeight - 60);" oncontextmenu="return dm_popup(1, 2000, event);" style="cursor: pointer;"></div><input><div class="jaw_resizearea">&nbsp;</div></div></td><td class="border21"></td></tr><tr><td class="border02"></td><td class="border12"></td><td class="border22"></td></tr></tbody></table></div>

                  И даже не важно: локальная она или загружена из Интернета.
                   
                  Как видите, иерархически-сворачиваемые оглавления можно передавать, публикуя их html-код.
                   
                  Другой очень важный момент:
                  Интерактивное оглавление может быть либо плавающим, либо – внешним. Внешнее не принадлежит вкладке, но управляет активной. Причём, эти типы оглавлений можно взаимно преобразовать… Например, плавающее сделать внешним.
                   
                  Два основных преимущества внешних оглавлений:
                     1)Они не исчезают при обновлении целевой вкладки;
                   2)Каждое такое оглавление может управлять несколькими вкладками. Чтобы назначить вкладку оглавлению, надо лишь перейти в неё (то есть, сделать её активной).


                  ПнБ
                  Начинающий
                  Всего сообщений: 98
                  Зарегистрирован: 5 мая 2015, 11:37
                  Рейтинг пользователя: 0

                  0
                  23 декабря 2016, 15:12#9
                    _1_написал(а):
                    Как видите, иерархически-сворачиваемые оглавления можно передавать, публикуя их html-код.

                    Снежок, ты в курсе, что процентов 90 юзверей в инете понятия не имеют, что такое html? Я смотрю в яндекс-метрике, что большая половина на моём сайте вообще между тремя кнопками теряются ))

                    Всё, что мне известно о PHP-меня научил 4X_Pro
                    Опрос пользователей о деятельности _1_ http://intbpro.ru/flood/119/

                    _1_
                    Участник
                    Всего сообщений: 232
                    Зарегистрирован: 14 окт 2014, 09:11
                    Рейтинг пользователя: 15

                    0
                    25 декабря 2016, 11:12. Редактировалось 1 раз, последний — 27 декабря 2016, 11:34#10
                      ПнБнаписал(а):
                      Снежок, ты в курсе, что ...


                      Ну, так и Оруэлла не каждый читал. А ты цитируешь. Мы друг друга поняли, и это главное!)

                      -

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

                      Чем больше методов модерации знает форумчанин, тем проще организовать конструктивное общение. Было бы о чём и с кем ... )
                      Чтоб управлять дискуссией, не обязательно иметь специальные полномочия.

                      Прикрепленные файлы:

                      Страницы:
                      Распечатать

                      У вас нет прав для отправки сообщений в эту тему.

                      0: Контрольная точка "Конец инициализации". Время выполнения: 0.002. Запросов: 8, время запроса: 0.001 (56.39)%. Памяти использовано: 520064 байтов

                      0: Контрольная точка "Фиксация действия пользователя выполнена". Время выполнения: 0.002. Запросов: 10, время запроса: 0.001 (58.75)%. Памяти использовано: 520392 байтов

                      0: Контрольная точка "Основное действие выполнено". Время выполнения: 0.012. Запросов: 17, время запроса: 0.003 (26.72)%. Памяти использовано: 856264 байтов

                      0: Контрольная точка "Вспомогательные действия выполнены". Время выполнения: 0.013. Запросов: 21, время запроса: 0.004 (28.61)%. Памяти использовано: 871928 байтов

                      0: Контрольная точка "После срабатывания шаблонизатора.". Время выполнения: 0.022. Памяти использовано: 1191064 байтов