Главная > Документация > Интеграция скриптов > Вызов скрипта из меню

Вызов скрипта из меню

Допустим, вы хотите, чтобы при нажатии на пункт "MyScript", главного меню, управление передавалось вашему внешнему скрипту.

Вы можете просто поместить вызов вашего скрипта в шаблон, прямо после <?php echo content();?>.
И, выполняя проверку, передавать ему управление:
<?php if(@$u[$s]=="MyScript") include ($pth['folder']['base']."scriptsfolder/index.php");?>
Где "scriptsfolder" - имя папки вашего скрипта.

$u[$s] - URL-адрес страницы. чтобы создать URL, указанный выше, вы должны создать страницу с таким именем, выделив выделить тегом <h1> соответствующий текст (<h1>MyScript</h1> в HTML-файле content.htm ). Вы можете сделать это и для страницы второго уровня (H2), например: MyLevel1heading:MyScript.

Кроме того, вы можете вставить ваш скрипт в файлы index.php, cms.php, functions.php или иные, до того, как система выводит шаблон с контентом. Даже, если вызов делается при помощи CMSimple Scripting, все должно работать. Но все, что выводит внешний скрипт, он должен выводить в переменную $c[$s] (или, в случае CMSimple Scripting, в переменную $content). Тогда будет корректно работать ссылка Версия для печати CMSimple.

Главное, чтобы ваш внешний скрипт не печатал HTML-теги HEAD и BODY. Если вы пишете в системные переменные $c[$s] и $content, вы должны изменить все ваши print-ы и echo-и, так, чтобы они выводили поток в эти переменные, иначе вы не сможете использовать буфферные функции для вывода в переменные (см. http://www.php.net/function.ob-get-contents ).

Парсинг URL страницы

чтобы внутренняя навигация была доступна внешнему скрипту, модифицируйте его, чтобы он передавал имя/URL страницы, в ответ на GET или POST запросы.

Все ссылки во внешнем скрипте должны быть преобразованы, так например, <a href="index.php"> должна стать <a href="index.php?<?php echo @$u[$s]?;>">

Во всех формах, используемых скриптом, вставьте перед submit: <input type="hidden" name="selected" value="<?php echo @$u[$s];?>">


Реклама: