Пример сайта, созданного на Joomla

вторник, 20 апреля 2010 г.

Как вставить сторонний код в Joomla 1.5 (JavaScript, PHP, Flash, реклама и т.д.)

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


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

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

Вставить свой код в модуль можно двумя способами:

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

2. Использовать специальное стороннее расширение, позволяющее вставить код в модуль без визуального редактора. Найти их можно в разделе Custom Code каталога расширений официального сайта.

Вот те, что существуют наиболее давно и проверены "в бою":

Jumi
Joomla Mod PHP
SpecialHTML For Joomla 1.5

Иногда требуется вставить сторонний код в текст статьи. Например, блок рекламы. Это можно сделать двумя способами:

1. Использовать штатный плагин "Content - Load Module". Если он включен, то с его помощью можно вставить в любое место статьи любую позицию шаблона вместе со всеми содержащимися в ней модулями. Для этого достаточно вставить в текст код {loadposition user1}, где user1 - название позиции. Позиция в данном случае может быть виртуальной, подробнее см. тему: [howto] Создание новой позиции модулей в Joomla 1.5 .

2. Использовать расширение Modules in Content - это специальное, универсальное расширение для вставки модулей и позиций в тексты статей. Описание работы с ним можно найти на joomlaportal.ru.
Другие расширения для вставки кода в текст материала можно найти в разделе Custom Code in content каталога расширений.


P.S. Перед установкой любого подобного модуля убедитесь, что используете последнюю версию, загруженную из каталога расширений.

Начиная с версии Joomla! 1.5.2 добавлена возможность отключать функцию очистки стороннего кода, вставляемого в визуальном редакторе TinyMCE 2.0. Это делается в настройке плагина "Editor - TinyMCE 2.0" с помощью новой опции "Code cleanup on save". У неё три возможных значения:
- Always
- Front only
- Newer

По умолчанию включено значение "Always". Как я понимаю, при включении значения "Front only" сторонний код будет вырезаться только при сохранении материала, созданного посетителем на лицевой стороне сайта. При вставке баннера в админке код портиться не будет.

Кроме этого есть ещё одна опция (которая была и раньше) - "Очищать код при запуске". Если вы планируете вставлять через визуальный редактор баннеры, то её лучше отключить, поскольку при открытиии материала скрипты всё-равно будут удаляться.

P.S. Прежде, чем полностью отключать функцию очистки, следует хорошо подумать. Это может привести к внедрению вредоносного кода. Для вставки баннеров всё же безопаснее использовать специальные модули, или вставлять их код прямо в шаблон.

-на 1.5.8 версию... Editor - TinyMCE 2.0

Поставил:

Code Cleanup on Startup – off

Code cleanup on save – never

Do not clean HTML entities – yes

Не помогло, скрип все равно вырезает.

В кончено итоге я его вообще дезактивировад (дисабле) – скрипт все равно чем-то обрезается… как быть?

Куда из админки мона вставить скрипт, чтобы он работал для каждой страницы Article: [ New ] ?

Или подскажите путь к шаблону... Пробовал через админку вставить скрипт в /templates/rhuk_milkyway/index.php – скрипт встал, но вопрос не снялся…

-Все это перепробовал - ничего не помогло.

Но решение нашлось здесь: http://joomlaforum.ru/index.php/topic,46812.msg275363.html#msg275363

-Разобрался. Нужно ввести код в Параметры модуля и сменить имя. А если мне нужно еще использовать в другом месте, я еще подгружаю этот модуль, так ?

 -Создайте копию существующего и поменяйте параметры, или создайте новый пустой модуль этого типа через кнопку "создать".

-а у меня другая проблема я меню сделал все норм начал вставлять вставляю меню не отображает отображает тока
Цитировать
This text is replaced by the Flash movie.
А код вот как ставлю этот
до head
Цитировать
<script type="text/javascript" src="flashobject.js"></script></HEAD>
этот где надо
Цитировать
<center><br>
<div id="collapse menu_id" >This text is replaced by the Flash movie.</div>
<script type="text/javascript">
   var fo = new FlashObject("gg.swf", "collapse menu", "170", "250", "6", "#B9DCFF");
    fo.addParam("menu","false");
    fo.addParam("quality","best");
    fo.addParam("salign","LT");
    fo.addParam("scale","noscale");
    fo.addParam("wmode", "transparent");
    fo.write("collapse menu_id");
</script></center>
И еще вопрос а сам flash куда закидывать.

-если я правильно понял ты менюшку хошь вставить!  то можно так в head шаблона вставил <script type="text/javascript" src="flashobject.js"></script> а потом идешь в модули создать новый модуль простого html, и туда вставляешь тод код и путь к флешке и задаешь позицию где бы ты хотел чтоб у тебя была менюшка, помйму так если не ошибаюсь и правильно понял проблему.

 -Всё люди сил больше нет ,наверно уже весь или почти весь форум перерыл.
Вот такая проблема :установил модуль банер ,записал в нем код полученный от Бегуна .Вроде всё замечательно модуль весит на сайте жду модерацию.
И вот результат -К сожалению, Ваша площадка не прошла модерацию по следующей причине :
 
    На сайте отсутствует код программы Бегун.Автоконтекст, и проверка правильности размещения кода Бегуна не представляется возможной.

-Каким именно модулем баннеров вы пользуетесь, стандртным?
Визуально код на странице присутствует?

 -Да был стандартный, сейчас поставил mod_php, правильно ли ?

- Да, правильно. Стандартный модуль использует станлартный визуальный редактор, следовательно отрезает скрипты (см. выше).

 -Возник вопрос.
Имеем код рекламного баннера:
Код:
<?
global $_SERVER;
$ads=file_get_contents('http://adv.hqhost.org/?uri='.urlencode($_SERVER["REQUEST_URI"]).'&host='.$_SERVER["HTTP_HOST"].'&charset=');
echo $ads;
?>
в админке создаю баннер, говорю ему этот код в поле "Пользовательский код баннера:", публикую его. Ни на главной нигде баннер не отображается (не работает). Когда в браузере просматриваю "Исходный код страницы" он там фигурирует внутри

-Все расширения, которые так или иначе позволяют вставлять и выполнять сторонний код в Joomla! содержатся в разделе Custom Code каталога расширений.
Расширения, которые позволяют отображать код (не выполняя), содержатся в разделе Code Display

Комментариев нет:

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