Как вывести код в модуле Joomla. Как вставить iframe или другой произвольный код в статью Joomla. Модуль Jumi

Logo
Как добавить произвольный код в Joomla

В этой статье речь пойдет о вставке произвольного кода на сайт Joomla версии 1.5. Мы подробно рассмотрим, как вывести произвольный код в модуле Joomla, а также как вставить код непосредственно в статью Joomla. Поскольку в этой CMS установлен очень капризный визуальный редактор TinyMCE, то мы будем все операции производить не вручную, а при помощи специальных расширений таких как, например, модуль Jumi.

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

Как вывести произвольный код в модуле Joomla

Первым делом давайте рассмотрим, как вывести произвольный код в модуле Joomla. По умолчанию в Joomla уже есть встроенный модуль «Произвольный HTML-код», который позволяет выводить в модуле произвольный HTML код. Поскольку многим из нас требуется выводить не только HTML, но также и JavaScript и PHP, то я сразу перейду к рассмотрению более продвинутого расширения под названием Jumi. Данное расширение позволяет включить javascript, php, html, css, dhtml или простой txt-файл в публикуемый материал или модуль на сайте Joomla.

Для того чтобы установить Jumi к себе на сайт, вам первым делом нужно скачать файлы расширения. Специально для читателей блога dmitriydenisov.com я предоставляю свою версию модуля Jumi. Скачать его вы можете перейдя по этой ссылке.

После скачки файла переходим в Административную панель – Расширения – Установить/Удалить и в поле «Загрузить файл пакета» указываем путь к архиву с файлами, после чего жмем на кнопку «Загрузить файл & Установить».

Установка модуля Jumi

После установки переходим в «Расширения» — «Менеджер модулей» и выбираем появившийся модуль Jumi. Если данный модуль не появился после установки, то добавить его можно перейдя в Расширения – Менеджер модулей – Создать – Jumi. В результате этого у нас откроется окно с настройками модуля.

Модуль Jumi - Подробности

  • Заголовок – вводим название модуля.
  • Показать заголовок – включение/отключение отображения заголовка.
  • Включен – активация/деактивация модуля.
  • Позиция – выбираем позицию в которой будет отображаться модуль. Для просмотра позиций добавьте в адресную строку «?tp=1» сразу после названия сайта. В данном поле можно прописать также свои позиции, но об этом мы поговорим во второй части статьи.
  • Порядок – выбираем порядок отображения модулей.
  • Доступ – устанавливаем, кому будет виден данный модуль.

Модуль Jumi - Отображение модуля

Здесь нужно выбрать в каких меню будет отображаться данный модуль Jumi. Если вы хотите чтобы модуль отображался только в отдельных пунктах меню, то переключите радиокнопку в положение «Выбрать из списка» и отметьте нужные пункты меню.

Модуль Jumi - Параметры

  • Блокнот – поле для заметок.
  • Записанный код – поле для вставки произвольного кода. Именно сюда нужно добавлять код, который вы хотите вывести в модуле.
  • Источник кодов – можно прописать путь к файлу с кодом.

Модуль Jumi - Расширенные параметры

  • Абсолютный путь Jumi по умолчанию – позволяет настроить путь для включаемого файла. Можно оставить поле пустым.
  • Суффикс класса модуля – позволяет прописать для модуля класс, что в свою очередь позволит изменить внешний вид модуля. Список доступных классов можно посмотреть на сайте производителя вашей темы оформления.
  • Кеширование – позволяет включить кэширование модуля Jumi.
  • Срок кеширования – время кэширования в секундах.

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

Как вставить iframe или другой произвольный код в статью Joomla

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

Использовать модуль мы будем по причине того, что Joomla постоянно обрезается произвольный код внутри статьи независимо от настроек визуального редактора. То есть даже если в настройках редактора TinyMCE отключить очистку кода,то код все равно будет обрезаться. Также не работает способ с созданием нового пользователя с отключенным визуальным редактором, поэтому его мы тоже рассматривать не будем. Исходя из этого, для вставки кода мы будем использовать модуль Jumi.

Итак, первым делом создаем новый модуль Jumi и вставляем в поле «Записанный код» наш произвольный код. В моем случае это будет код голосования, полученный в административной панели социальных голосований.

Вставка кода в модуль Jumi

Далее переходим в блок «Подробности» модуля Jumi и указываем позицию. В качестве позиции придумываем любое слово. В моем случае это позиция «vote».

Позиция модуля Jumi

После этого производим остальные настройки модуля (см. выше) и сохраняем результат.

Для вывода данного модуля внутри статьи достаточно открыть на редактирование нужную статью и в режиме HTML прописать позицию для модуля.

{loadposition позиция}

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

{loadposition vote}

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

На этом данная статья подошла к концу. Если у вас остались какие-то вопросы, вы всегда можете задать их в комментариях к статье.

Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter

Комментарии 35

  • Оля

    Скажите пожалуйста почему у меня после всего сделанного появляется пустое окошко пространство…как бы точнее обьяснить…типа область но там нет той информации которую я прописываю?
    помогите пожалуйста очень надо!

  • Дмитрий

    Разные ситуации бывают. Чтобы ответить на ваш вопрос, мне нужно больше деталей. Возможно, вы что-то неправильно сделали или же модуль просто не поддерживает выбранный вами язык. Перепроверьте все, а если не получится пишите в ICQ 375010455 и я вам помогу.

  • Александр

    Спасибо! Намучился со вставкой социальных кнопок после статьи. Благодаря Вам, всё сделал за 5 минут.

  • Дмитрий

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

  • Роман

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

  • Дмитрий

    Вам спасибо за отзыв!
    Буду рад вашим комментариям и к другим статьям.

  • Виктор

    Добрый день.Наткнулся на ваш пост, искал инфу о том, как выводить код в модуле, решил что все, этот точно поможет, но что то не работает.
    В кратце опишу ситуацию, может я что то не так делаю
    В общем пытаюсь вывести шапку сайта через модуль, хотел чтобы картина была ссылкой, но прописав код, на сайте он просто картинка не кликабельная, может вы подскажете как же сделать так, чтобы картинка стала ссылкой и почему выводя её через модуль в шапку это не происходит.Спасибо.
    На всякий случай адрес сайта dosug-abakan.ru

  • Дмитрий

    Скорее всего вы допустили ошибку в коде. Это нужно смотреть, что вы делали. Так я вам помочь не смогу, не видя исходного кода. Если есть желание — напишите мне в «Контакты» и я вам по свободе помогу.
    Кстати для вывода html кода вы можете использовать и стандартные модули Joomla. Если не ошибаюсь, то модуль называется «Текст» или «Произвольный код». Уже не помню точно. Давно с Joomla работал.

  • Дмитрий

    Здравствуйте.а в каком именно месте надо прописать позицию для модуля?

    и куда и что здесь я не разберусь никак…=(((((((

  • Дмитрий

    Ой, извиняюсь,коммент отображается почему-то без тегов…=((((((((((((((((((((((

  • Дмитрий

    Дмитрий, вам нужно прописать позицию в том месте, где вы хотите вывести модуль в статье. То есть, добавляем код после нужного вам слова или тега. Если вас смущает наличие тегов в тексте в режиме HTML, то рекомендую изучить основы языка HTML, чтобы вы без труда могли ориентироваться в HTML коде. Кстати говоря, можете попробовать вставить код непосредственно через визуальный редактор Joomla. Так тоже должно сработать, так как в коде нет спец. символов. В этом случае вам не будут мешать никакие HTML теги.

  • Евгения

    уточните, пожалуйста, откуда мы берем «произвольный код», у вас «полученный в административной панели социальных голосований»?

  • Евгения

    прошу прощения, я разобралась, откуда берем коды :)) но у меня какое-то странное окошко еще появляется, вот здесь ###

    код вставляю отсюда api.yandex.ru/share/

  • Дмитрий

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

  • Евгения

    спасибо огромное, все получилось!!

  • Дмитрий

    Отлично. Если возникнут еще какие-то сложности — пишите. Буду рад помочь.

  • Максим

    Спасибо, Дмитрий, за статью! Я новичок в web-программировании, разрабатываю свой первый сайт. Ваша статья мне оказалась очень кстати. Теперь я смог внедрить виджет карты города в свою страничку для показа схемы проезда.

  • Дмитрий

    Спасибо за комментарий! Рад, что данная статья оказалась полезной для Вас.

  • Anton

    Спасибо за статью, искал как решить проблему с выводом iframe, предложенный вами способ оказался эффективным))

  • Дмитрий

    Был рад помочь. Заходите снова и найдете еще много чего интересного, а главное эффективного))

  • Иван

    Большое спасибо, действительно полезная статья, не подскажете как сделать чтобы выводимый код — отображался по центру статьи? Я вывел форму подписки в конец статьи, а по центру поставить ее не получается..

  • Дмитрий

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

  • Тохир

    Здравствуйте. Подскажите пожалуйста как сделать такое на joomla 2.5.4
    Заранее благодарен

  • Дмитрий

    Здравствуйте. Я давно отказался от Joomla. Остался лишь один сайта на Joomla 1.5.2, поэтому не могу проверить сейчас, как все устроено в версии 2.5.4. Скорее всего процесс будет идентичен вышеописанному. Не думаю, что новая версия движка будет сильно отличаться от старой.

  • Jane

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

  • Дмитрий

    Был рад помочь. Если вдруг что-то будет непонятным или возникнут какие-то вопросы — пишите. Будем разбираться.

  • А.Бенгард

    Спасибо Дмитрий) Статься пригодилась как нельзя кстати) Сейчас наконец то появилось время воплотить в жизнь сайт социальнх голосований на основе ваше замечательного скрипта. Вот собственно и пришёл в тупик когда вставил фрейм в материал, а он у меня так и отобразился — "кодом" )) начал гуглить и вот она! Нужная статья, того нужного человека )) Удачи Вам и успехов Дмитрий)

  • Дмитрий

    Видите как все получается… Все пути ведут на этот блог))) Рад, что Вы нашли нужную информацию именно у меня. Желаю Вам успеха в создании сайта социальных голосований, а если вдруг потребуется помощь — всегда можете обратиться ко мне в ICQ или написать на мейл:)

  • Александр

    Спасибо Дмитрий за очень толковую инструкцию по работе с Jumi! Самое лучшее, что удалось найти по этой теме. Но у меня проблема такая: при вставке непосредственно в материал через встроенный редактор ну никак не хочет joomla подставлять созданный модуль со скриптом. На выходе в этом месте имеем голый код {loadposition…} Может что посоветуете?

  • Дмитрий

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

  • Людмила

    Спасибо! Действительно, все просто. Всего лишь надо знать, как это сделать :)

  • Игорь

    Здравствуйте, Дмитрий. Расширение Jumi позволяет также менять стиль CSS для страниц joomla. Мне удалось поменять стиль для статьи путем прикрепления заранее созданного файла css к этой статье. Для этого в начале статьи я написал: {jumi [/mystylesfolder/mystyle.css]}. Сейчас у меня возникла необходимость поменять css не статье, а шаблону блога категории, к которому я привязал пункт меню. Я нашел файл, который выводит блог категории /components/com_content/views/category/tmpl/blog.php. Может в него нужно прописать аналогичный код? Или есть другой вариант? Очень надеюсь на Вашу помощь. Заранее благодарю.

  • Дмитрий

    Здравствуйте. Рекомендую вносить изменения в шаблон, но никак не в файлы движка. Я уже давно не работаю с Joomla, поэтому точно не скажу, в какой именно файл нужно вносить изменения. Если не ошибаюсь, то в джумле основным файлом шаблона является index.php. Вот в нем и пропишите условия вывода дополнительных стилей CSS посредством PHP или же используйте напрямую файл стилей шаблона. Движок должен автоматически добавлять стили в зависимости от того, какая страница сайта открыта. Вот их и используйте для изменения вида отдельных страниц сайта.

  • Виталь

    Привет, спасибо за статью!!! Заметил 1 момент (может так не у всех), когда прописывается {лоадпозишен …} в статье, то появляется 2! модуля (в моем случае модуль поиска туров), след достаточно просто указать позицию в модуле jumi и все. Волнует другое, каким образом сделать так чтобы модуль отражался по ширине экрана статьи? (простите если туплю) Даже если менять позиции, размеры окошка модуля не меняются.

  • Виталь

    Разобрался сам. Дело было в коде модуля, в разделе "записанный код", там настройки ширины и высоты. Автору Признательность за статью.

Оставить комментарий

отменить ответ