Вставка информации, которая открывается при нажатии на пункт меню, в текст материала

Тема в разделе "Наполнение", создана пользователем irina_kiseleva, 19.04.2017.

  1. irina_kiseleva
    Offline

    irina_kiseleva Недавно здесь

    Регистрация:
    08.07.2016
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Женский
    Здравствуйте!
    Есть пункт меню, при нажатии на который открывается страница с определённой информацией.
    Хотим в текст материала включить эту информацию.

    Максимум, до чего мы додумались, и что получилось сделать – это вставить в текст материала пункт меню, при нажатии на который открывается страница с информацией. Но это не то, что нам нужно. Нам нужно, чтобы информация отображалась прямо в тексте материала.

    Скажите, пожалуйста, как это можно сделать?
     
  2.  
  3. NikTimer
    Offline

    NikTimer Тариф: Спонсор ⇒ Спонсор форума ⇐

    Регистрация:
    13.03.2017
    Сообщения:
    33
    Симпатии:
    4
    Пол:
    Мужской
    Ваш пост не несет совсем описания проблемы, от слова совсем.
    Менеджер Меню: Ваш пункт меню: редактирование вашего пункта меню: выбираете компонент или тип материала который будет выражать ваша страница.
    Допустим Материал как на картинке:
    8555-658dd43ebd392bc1f1d83016459fba04.jpg
    В Выборе материала: выбираете нужный вам материал:
    К примеру [​IMG]
    Нажимаете сохранить и у вас выводит этот самый материал. Пример на joomla 3,6.
     

    Вложения:

    • m.jpg
      m.jpg
      Размер файла:
      97.7 КБ
      Просмотров:
      3
    • m2.jpg
      m2.jpg
      Размер файла:
      68.5 КБ
      Просмотров:
      24
    Последнее редактирование: 19.04.2017
    irina_kiseleva нравится это.
  4. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 418
    Симпатии:
    574
    Пол:
    Мужской
    Модальное окно, всплывашка или блок с инфо ,который открывается по клику на элемент.
     
    irina_kiseleva нравится это.
  5. irina_kiseleva
    Offline

    irina_kiseleva Недавно здесь

    Регистрация:
    08.07.2016
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Женский
    NikTimer и draff, спасибо, что отреагировали. Описываем проблему более подробно:


    В текст нужно вставить информацию со страницы, которая открывается при нажатии на пункт меню "пользовательские данные".
    Открывающиеся данные - это не просто текст. Данные не статичны. Их выводит компонент "Пользовательские данные", который установлен на сайте.

    Мы создали материал, в котором нужно напрямую отобразить эти данные - без переходов на отдельную страницу с этими данными.

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

    Вот папки и файлы в корне компонента:

    Папки:
    assets
    controllers
    helpers
    models
    views

    Файлы:
    component.php
    controller.php
    router.php
    --- добавлено: 20.04.2017, первое сообщение размещено: 20.04.2017 ---
    Ещё вариант - это модуль Обёртка (Wrapper). Но мы с ним не работали, и нам непонятно, каким образом его настраивать и вставлять в тело материала. И, вообще, этот вариант менее предпочтителен, чем вставка кода в тело материала.
     
  6. NikTimer
    Offline

    NikTimer Тариф: Спонсор ⇒ Спонсор форума ⇐

    Регистрация:
    13.03.2017
    Сообщения:
    33
    Симпатии:
    4
    Пол:
    Мужской

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

    Что за компонент? Конкретное название.
     
    irina_kiseleva нравится это.
  7. irina_kiseleva
    Offline

    irina_kiseleva Недавно здесь

    Регистрация:
    08.07.2016
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Женский
    Компонент называется "Пользовательские данные", нам его делал программист.

    "Почему бы просто не вывести нужную страницу через модуль?" - нам, по большому счёту, без разницы, как вывести данные. Нам нужно, чтобы в тексте материала мы могли вывести изменяющиеся данные с другой страницы напрямую, без ссылок, открывающихся окон и переходов.
    Вы знаете, как это можно сделать?
     
  8. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 418
    Симпатии:
    574
    Пол:
    Мужской
    Плагин нужно кодить .
     
    irina_kiseleva нравится это.
  9. NikTimer
    Offline

    NikTimer Тариф: Спонсор ⇒ Спонсор форума ⇐

    Регистрация:
    13.03.2017
    Сообщения:
    33
    Симпатии:
    4
    Пол:
    Мужской
    В папке views, сделать дополнительный способ вывода(хз, как правильно называть), в котором будет нужная вам функция. Это позволит эту страницу выводить в настройках модуля, а его вставить или в статью, или в любую позицию на сайте.
    Если я правильно понял вашу задачу.
    Но без подобной помощи вы это не реализуете, наверное:priest:
     
    irina_kiseleva нравится это.
  10. irina_kiseleva
    Offline

    irina_kiseleva Недавно здесь

    Регистрация:
    08.07.2016
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Женский
    NikTimer и draff, если не влезать в код, то мы почти решили вопрос путём создания модального окна с помощью Джумловского модуля Обёртка (Wrapper).
    Описываем наши действия для тех, кого интересует подобный вопрос:
    1. Создаём новый модуль: Расширения - Менеджер модулей - Создать модуль
    2. Выбираем тип модуля: Обёртка (Wrapper)
    3. В поле "URL" вставляем ссылку на страницу, которую вы хотите отобразить в теле материала.
    4. В поле "Позиция" вводим название позиции (которое точно не находится в списке). Например, mod_modul.
    5. Остальные настройки - по желанию. Жмём сохранить.
    6. Открываем материал, в который нужно добавить данные, и в нужном месте вставляем следующий текст: {loadposition mod_modul}
    7. Сохраняем материал

    Таким образом в теле материала появляется окно, в котором отображаются данные другой страницы.

    Но нас в данном решении не устраивает, что
    1. В окне отображается страница целиком: не только пользовательские данные, но также шапка и подвал страницы. Нам нужно, чтобы отображались только пользовательские данные.
    2. Высота окна статичная (с полосой прокрутки). Нам нужно, чтобы высота была адаптивной, подстраивающейся под количество выводимой информации.

    Может быть, вы знаете, как устранить эти два момента?
     
  11. NikTimer
    Offline

    NikTimer Тариф: Спонсор ⇒ Спонсор форума ⇐

    Регистрация:
    13.03.2017
    Сообщения:
    33
    Симпатии:
    4
    Пол:
    Мужской
    Понимаете, вы вставили страницу, которую joomla обрабатывает ка как отдельную, сократить внешний вид там не получится(больше чем уверен, хотя я не сторожила joomla).
    Обёртка (Wrapper) выводит данные в iFrame, то есть, она запускает сеанс просмотра какой то страницы на вашем движке и выводит ее, в окне Frame. Опять же, я не программист, говорю простыми словами. Но грубо говоря, информация обрабатывается не на странице, которую Вы выводите. К примеру, в ней Вы можете запустить показ страницы другого сайта.

    Сомневаюсь что используя Frame это можно исправить.
    То, как Вы описали задачу в предыдущих постах, поможет решить только вмешательство в компонент. Как указанно в моем сообщении:
    или в сообщении draff'а
    И кстати, в следующий раз, лучше указывайте версию joomla, в которой происходят события ;)
     
    Последнее редактирование: 21.04.2017
  12. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 418
    Симпатии:
    574
    Пол:
    Мужской
    Кроме плагина можно воспользоваться Аякс jQuery . Но все равно нужно кодить,просто кнопками не решить вопрос.
     
  13. irina_kiseleva
    Offline

    irina_kiseleva Недавно здесь

    Регистрация:
    08.07.2016
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Женский
    Понятно. Вариант с обёрткой (Wrapper) отпадает.
    NikTimer, у нас Джумла 3.


    Мы попробовали использовать плагины, для вставки компонента в материал: https://extensions.joomla.org/exten...ding-a-scripts-integration/include-component/
    а также вот этот: https://www.regularlabs.com/extensions/componentsanywhere
    НО: они работают частично.

    Изменяющаяся информация на на нужной нам странице отображается следующим образом:


    Альбом 1

    Альбом 2

    Альбом 3


    При нажатии на "Альбом 1" под ним появляется кликабельный список с материалами, которые в нём содержатся:


    Альбом 1

    материал 1

    материал 2

    материал 3

    Альбом 2

    Альбом 3


    При повторном нажатии на "Альбом 1" список с материалами скрывается:


    Альбом 1

    Альбом 2

    Альбом 3


    Так вот, мы хотим в тело нового материала вставить данные со страницы. 2 вышеописанных плагина позволяют это сделать, но при этом теряется важный момент: при повторном нажатии на "Альбом 1" ничего не происходит, список с материалами не скрывается. Функциональность теряется, нас это не устраивает.


    NikTimer и draff, скажите, пожалуйста, Вы знаете, что можно сделать, чтобы данные со страницы без потери функциональности отображались в теле материала?
     
  14. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 418
    Симпатии:
    574
    Пол:
    Мужской
    Оффтопик (не в тему) - жми сюда!

    Вот когда будет работать ваш функционал, тогда и покажите, чтобы можно было подсказать . Возможно конфликт яваскрипт,или применение новой библиотеки jquery,которая отключает обработчик события после одного клика на элемент .
     
    irina_kiseleva нравится это.
  15. irina_kiseleva
    Offline

    irina_kiseleva Недавно здесь

    Регистрация:
    08.07.2016
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Женский
    Мы (я и мой муж) не программисты, сайт делаем по возможности своими силами. То, что не получается сделать самостоятельно - делаем через фриланс.

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

    Скажите, пожалуйста, как нам узнать, это "конфликт яваскрипт,или применение новой библиотеки jquery,которая отключает обработчик события после одного клика на элемент"?
     
  16. NikTimer
    Offline

    NikTimer Тариф: Спонсор ⇒ Спонсор форума ⇐

    Регистрация:
    13.03.2017
    Сообщения:
    33
    Симпатии:
    4
    Пол:
    Мужской
    Как минимум если бы показали живой пример, на своем сайте, тогда бы , draff, смог сказать больше. А так, - это гадание на волшебном шаре.
     
  17. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 418
    Симпатии:
    574
    Пол:
    Мужской
    Это выполняется ваш самописный компонент .
    Это выполняется компонент Джумла.
    Проблема с работой плагина .
    Смотреть в консоли браузера ошибки яваксрипт и изучить язык яваскрипт,хотя бы в части обработчиков событий .
     

Поделиться этой страницей

Загрузка...