Вставка скрипта Perl в шаблон [Решено]

Автор Vasiy, 28 сентября 2012, 12:00:35

« назад - далее »

Vasiy

Уважаемые знатоки не подскажете как вывести на сайте вот такое выражение SGI скрипта (результат)

<!--#include virtual="/cgi-bin/textcount.cgi"-->  (счетчик просмотров)

У меня пока не работает, может у кого ни будь заработало?
Не боги горшки обжигают, не зачем им такой хренью заниматься.

PrestaMan

{include file="абсолютный путь к файлу"}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Vasiy

Инклюд к скрипту Perl в папке sgi-bin?
Не боги горшки обжигают, не зачем им такой хренью заниматься.

Виктор Демидов

Где должны храниться скрипты Perl спросите у хостинга, в папке cgi-bin или в другой.

Vasiy

Попробовал.  {include file="абсолютный путь к файлу"}
Просто выводит весь текст скрипта в окно браузера сам счетчик не работает.
Не боги горшки обжигают, не зачем им такой хренью заниматься.

mAgency

Smarty - это компилирующий обработчик шаблонов для PHP.
Вставка шаблонов tpl.
{include file="абсолютный путь к файлу"}
Вставка php файла
{include_php file='/path/to/file.php'}

Но зависит от версии smarty, include_php устарела и {php}{/php} тоже. Если include не работает, тогда можно попробывать  {fetch}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

Vasiy

По моему все здесь что то не так понимают.
Вопрос идет о вставке скрипта PERL,   sgi-bin, а не .php
Не боги горшки обжигают, не зачем им такой хренью заниматься.

PrestaMan

Perl-скрипт подключать таким образом нельзя, так как его будет пытаться обработать PHP-интерпретатор. Как минимум нужно добавить shebang-конструкцию и сделать его исполняемым и запускать через system с указанием прямого пути до него - однако в этом случае запуск будет происходить вне CGI-пространства.

Наверное это вы не понимаете поставленой задачи или поставновка задачи не правильная. Понятно, что
ЦитироватьSmarty - это компилирующий обработчик шаблонов для PHP.
Для Perl существует FastTemplate.
Как подключить файл вам написали, теперь нужно "смешать" php и perl.

Так как и Perl и PHP являются backend-ами и служат для решения одной и той же задачи на одном сайте, то можно организовать взаимодействие между сеансами выполнения Perl-скриптов и PHP-скриптов точно такое же как и между одними PHP-скриптами. Использовать сессии, за счет реализации соответствующей сериализации данных.
Как вариант, для запуска можно использовать или shebang-конструкцию с прямым выполнения Perl-скрипта или, для того чтобы задействовать CGI-интерфейс, настройки Apache для CGI-скриптов.

Сделать можно все что угодно - нужно только старание, терпение... только зачем?
У вас чисто теоритический интерес?
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

mAgency

Может так подключить, сам не пробывал, не вижу смысла в такой задаче.
В php файле подключить скрипт.
<?PHP
require_once '/home/user/www/file.pl';
.....

или через  ob_start(), но не факт, что заработает. Но попробывать можно.

Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

PrestaMan

ЦитироватьВ php файле подключить скрипт.
Не будет работать, запуск будет происходить вне CGI-пространства.
ЦитироватьPerl-скрипт подключать таким образом нельзя, так как его будет пытаться обработать PHP-интерпретатор. Как минимум нужно добавить shebang-конструкцию и сделать его исполняемым и запускать через system с указанием прямого пути до него - однако в этом случае запуск будет происходить вне CGI-пространства
.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Vasiy

Цитата: PrestaMan от 01 октября 2012, 13:19:20
Perl-скрипт подключать таким образом нельзя, так как его будет пытаться обработать PHP-интерпретатор. Как минимум нужно добавить shebang-конструкцию и сделать его исполняемым и запускать через system с указанием прямого пути до него - однако в этом случае запуск будет происходить вне CGI-пространства.

Наверное это вы не понимаете поставленой задачи или поставновка задачи не правильная. Понятно, что
ЦитироватьSmarty - это компилирующий обработчик шаблонов для PHP.
Для Perl существует FastTemplate.
Как подключить файл вам написали, теперь нужно "смешать" php и perl.

Так как и Perl и PHP являются backend-ами и служат для решения одной и той же задачи на одном сайте, то можно организовать взаимодействие между сеансами выполнения Perl-скриптов и PHP-скриптов точно такое же как и между одними PHP-скриптами. Использовать сессии, за счет реализации соответствующей сериализации данных.
Как вариант, для запуска можно использовать или shebang-конструкцию с прямым выполнения Perl-скрипта или, для того чтобы задействовать CGI-интерфейс, настройки Apache для CGI-скриптов.

Сделать можно все что угодно - нужно только старание, терпение... только зачем?
У вас чисто теоритический интерес?

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

PrestaMan

Цитата: Vasiy
Интерес не чисто теоретический, на моих сайтах клиенты могут размещать
объявления для продажи (цифровой контент) и необходимо для каждого
объявления сделать счетчик количества просмотров и количества скачиваний файлов.
Вам лучше не изобретать велосипед, а использовать связку php+smarty.
Сделайте отдельный модуль и подключайте в шаблоне. Быстрее и надежнее.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Vasiy

#12
Ну в общем нашел решение.
Кому интересно.
От скрипта Perl отказался, взял сборку на  php. с защитой от повторных заходов и блокированием
поисковиков.
Создал на базе модуля blockadvertising клон, установил его через хук сразу над всеми модулями
центральной части, разместил в нем папку счетчика,
в файл blockadvertising.php (клон) в самый верх поставил исполняемые файлы и все заработало.
Одна особенность, счетчик выводится только вверху страницы, но считает.
Не путайте с нижним счетчиком собственных заходов клиентов он сделан на JS и вставляется через
blockadvertising.tpl в нужное место.
Не боги горшки обжигают, не зачем им такой хренью заниматься.