Перед созданием темы или сообщения следует прочесть: Правила форума, Правила раздела, Как правильно оформить тему.


Автор Тема: Базовый ФАК по SSI (Basic SSI FAQ)  (Прочитано 17033 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Avdenago

  • Друзья
  • *
  • Сообщений: 1 481
  • Карма: +91/-9
  • Пол: Мужской
    • Avdenago.com
Базовый ФАК по SSI (Basic SSI FAQ)
« : 15 Ноября 2006, 22:39:11 »
Базовый ФАК по SSI
 (Basic SSI FAQ)
Перевод. Оригинал тут:
http://www.simplemachines.org/community/index.php?topic=12936.0

В данном ФАКе мы предлагаем Вам ознакомится с основами SSI и возможностями применения технологии SSI в Вашем проекте.
Данный ФАК освещает часто задаваемые вопросы по SSI и дает на них ответы в виде советов и приемов. В конце сообщения вы можете найти текстовые примеры рассмотренных скриптов.
Все вопросы и впечатления, а также обсуждения данного материала можно оставлять в данной теме.

!ВАЖНО: НЕ ИЗМЕНЯЙТЕ ФАЙЛ 'SSI.PHP'!
(Все описанное ниже делается без каких-либо изменений в данном файле)

SSI - Server Side Includes (Включения на Стороне Сервера) - это набор функций, которые позволяют связать ваш форум с остальными страницами на Вашем сайте и использовать другие возможности форума, такие как статистика, новости, обсуждения, последние сообщения и т.д. на страницах вашего сайта.

Как SSI может мне помочь?
Если вы ищете способ применения SSI давайте рассмотрим следующий пример.
У вас есть сайт и, соответственно, форум и вы хотите, чтобы пользователи, вошедшие на форум, видели отдельную область закачки. 

Именно для чего-либо подобного и необходимо применение SSI. Реализация займет несколько минут.

Как мне начать использовать SSI?
Первое. Создаем у себя на сайте новый .php файл. Затем открываем его в текстовом редакторе и прописываем в него следующий код:
<?php
require("/home/simple/public_html/forum/SSI.php"); 
?>
Очень важно указать правильный путь к Вашему файлу 'SSI.php', который обычно находится в корневом каталоге Вашего форума. Правильный путь вы можете посмотреть в начале файла 'ssi_examples.php', который также находится в корневом каталоге Вашего форума.

Я добавил путь к файлу 'SSI.php". Что теперь?
Итак вы добавили путь к файлу 'SSI.php" и сохранили созданный Вами файл.
Далее мы попробуем добавить какую-нибудь возможность на страницу(в меню, список On-line) вашего сайта. Вставьте нижепреведенный код в созданный Вами файл после 'require("YOUR_PATH_TO_SSI.php");'
ssi_menubar();Теперь просмотрим созданный файл в браузере. Если все сделано правильно вы увидите меню форрума. Если же ничего не сработало или появилось сообщение об ошибке, значит вы неправильно указали путь к файлу 'SSI.php' в первой строчке.
Итак. теперь мы имеем небольшое представление о том как SSI работает и как он может пригодится. Вы можете ознакомится со всем набором функций SSI в файле 'ssi_examples.php', который также находится в корневом каталоге Вашего форума.

Что еще можно сделать используя SSI?
Как уже говорилось SSI имеет большое количество функций. Сейчас мы рассмотрим работату с правами пользователей.
Пример: У вас есть сайт и, соответственно, форум и вы хотите, чтобы пользователи, вошедшие на форум, видели отдельную область закачки.
Это делается без каких-либо проблем с использованием всего лишь php оператора 'if':
<?php
require("YOUR_PATH_TO_SSI.php"); 

if (
$context['user']['is_guest'])
 {
   echo 
   
'<h5>Доступ запрещен</h5>
   У Вас нет прав для просмотра данной страницы.'
;
 }
else
 {
   echo
   
'<h5>Здравствуйте, '$context['user']['name'], '!</h5>
   Это страница закачек:'
;
 }
?>
Несколько комментариев по работе данного примера. В примере использыется оператор 'if'. Если выражение (в данном случае $context['user']['is_guest']) ИСТИННО,то активируется первый блок операторов, если же выражение ЛОЖНО, то выполняется блок 'else'.
В нашем примере - если пользователь не вошел на форум, то выражение принимает значение ИСТИННО и отображается сообщение об отсутсвии прав для просмотра страницы. Если же пользователь вошел на форум, то отобразится страница закачек.

Можно сделать похожее с Администратором:
if ($context['allow_admin'])
  {
   Блок операторов
  }
else
  {
 Блок операторов
  }


Вот Вы и дочитали до конца Базовый ФАК по SSI.
Если есть желание можно продолжить освоение SSI перейдя к Углубленному ФАКу по SSI (Advanced SSI FAQ)

В прикрепленных файлах находится код еще нескольких небольших примеров.

-Lamper

От переводчика:
Если данный ФАК помог вам и ответил на ваши вопросы, или наоборот у вас появились вопросы, а также если вы нашли неточности или ошибки, вы можете обсудить его в данной теме.
Также следует отметить, что вышеприведенный перевод, довольно таки вольный... Но идеи и мысли сохранены.

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

Вот также интересная ссылка, иллюстрирующая работу SSI:
http://www.simplemachines.org/community/ssi_examples.shtml


« Последнее редактирование: 16 Ноября 2006, 15:36:18 от Avdenago »

Оффлайн m412

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
  • Пол: Мужской
  • это не я)
    • Пивной Блог
  • Версия SMF: 2.0 RC4
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #1 : 14 Июня 2007, 08:33:05 »
Цитировать (выделенное)
Правильный путь вы можете посмотреть в начале файла 'ssi_examples.php', который также находится в корневом каталоге Вашего форума.

Я не могу определить правильный путь...
в файле ssi_examples.phpу меня написано: "require(dirname(__FILE__) . '/SSI.php');"

и поэтому видимо не работает....что делать?
я на денвере пробую...

Оффлайн Avdenago

  • Друзья
  • *
  • Сообщений: 1 481
  • Карма: +91/-9
  • Пол: Мужской
    • Avdenago.com
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #2 : 14 Июня 2007, 10:20:21 »
попробуйте написать путь к виртуальной папке сервера от корня сервера...

Оффлайн m412

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
  • Пол: Мужской
  • это не я)
    • Пивной Блог
  • Версия SMF: 2.0 RC4
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #3 : 14 Июня 2007, 10:38:43 »
эм...) я не понял... :-[

Оффлайн Avdenago

  • Друзья
  • *
  • Сообщений: 1 481
  • Карма: +91/-9
  • Пол: Мужской
    • Avdenago.com
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #4 : 14 Июня 2007, 12:04:35 »
ну вот например у меня относительный путь будет наподобие...

F:\\AppServ\\www\\smf/SSI.php

Оффлайн m412

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
  • Пол: Мужской
  • это не я)
    • Пивной Блог
  • Версия SMF: 2.0 RC4
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #5 : 14 Июня 2007, 13:13:50 »
Спасибо! все заработало....
немного надо было подправить...
у меня это выглядит так:
"Z:/home/tmndnb/www/forum/SSI.php"

Оффлайн Илья

  • Новичок
  • *
  • Сообщений: 1
  • Карма: +0/-0
  • Пол: Мужской
    • Пытаюсь сделать сайт по садоводству :-)
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #6 : 15 Марта 2008, 23:15:32 »
Столкнулся с подобной проблемой...(в пихипи не силён)
фраза :
"Правильный путь вы можете посмотреть в начале файла 'ssi_examples.php', который также находится в корневом каталоге Вашего форума." - в корне не верна!
Путь можно посмотреть не в самом файле, естественно там написана функция dirname(__FILE__) !
Чтобы узнать путь, необходимо перейти на страницу ssi_examples.php (набрав в броузере адрес с этим файлом) у меня например получилось узнать:
<?php require("/home/u73761/forum.internetsad.ru/www/SSI.php"); ?>

Оффлайн matroskyn

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #7 : 18 Марта 2008, 15:41:19 »
Большое спасибо за перевод! Весьма помогло с пониманием.
я с помощью враппера в джумле вставил ssi_login() и  ssi_welcome() .
увы, знаний пока не хватает - пытаюсь сейчас все понять и сделать... медленно, но получается..
Но...
Тут казус один есть... ПРи вводе логина и пароля он в этом же окне (wrapped) и загружает форум - а мне нужно, чтобы он загружал в мэин.. ну либо в новом окне - если только это и останется.. ну и естессно, чтобы враппер как раз показывал кнопку Выход....
Ребяты.. с меня скоро уже пыль можно смахивать - сижу, копаюсь.. Читал вроде внимательно форум.. может что упустил?
Покажите, пожалуйста, путь истинный!

Оффлайн Avdenago

  • Друзья
  • *
  • Сообщений: 1 481
  • Карма: +91/-9
  • Пол: Мужской
    • Avdenago.com
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #8 : 18 Марта 2008, 15:59:08 »
Думаю вам лучше искать там, где могут дать совет по джумле. Это либо тут в соответсвующем разделе, либо где-нить в других местах...  Я вот не берусь консультировать по джумле, ибо не знаю ее.

Оффлайн highwhite

  • Новичок
  • *
  • Сообщений: 2
  • Карма: +0/-0
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #9 : 26 Мая 2008, 04:46:25 »
Здравствуйте. Есть проблема. Форум находится на моем сервере. А сайт собственно на хостинге.
С помощью require на SSI.php с сайта не работает. По УРЛ до SSI.php Тоже не добраться :'(

Так как можно подключить SSI.php с форма на моем сервере  на сайт у хостера?

Оффлайн digger

  • Чемпион по боксу по переписке
  • Russian SMF Hero
  • ***
  • Сообщений: 5 509
  • Карма: +607/-52
  • One sick bastard
    • Тестовый форум SMF
  • Версия SMF: 2.0.2
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #10 : 26 Мая 2008, 05:57:57 »
Здравствуйте. Есть проблема. Форум находится на моем сервере. А сайт собственно на хостинге.
С помощью require на SSI.php с сайта не работает. По УРЛ до SSI.php Тоже не добраться :'(

Так как можно подключить SSI.php с форма на моем сервере  на сайт у хостера?

Включить allow_url_fopen и allow_url_include.
Конвертирование форумов из uCoz, JForum и других движков в SMF.
Конвертирование галерей в Aeva Media.
Интеграция SMF с различными CMS. Разработка модификаций.

Мои поделки: TopicStarter, OneIP-OneREG, ExtendPostForm, dQuoteSelection, TotalTimeLoggedIn_in_posts, Watermark.light, Highslide Image Viewer, TextareaResizer, NiceToolTips, Memberlist Additional Alphabet, Sisyphus, MathJax
If you do believe that other's work should be free then please come and work for us for free.
Каталог форумов SMF
Телепаты в отпуске

Оффлайн highwhite

  • Новичок
  • *
  • Сообщений: 2
  • Карма: +0/-0
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #11 : 26 Мая 2008, 15:51:39 »
allow_url_fopen включен. Вторую опцию в конфиге ненашел. Все то же.

Warning: require(T:\home\virtual\xxxxxxx.yyy\forum\SSI.php) [function.require]: failed to open stream: No such file or directory in /home/xxxxxxx_zz_www/index.php on line 2 // корень сайта у хостера

Fatal error: require() [function.require]: Failed opening required 'T:\home\virtual\xxxxxxx.yyy\forum\SSI.php' (include_path='.:/www/php2/lib/php') in /home/xxxxxxx_zz_www/index.php on line 2

   Если инклудом, до SSI.php ругается.

Оффлайн digger

  • Чемпион по боксу по переписке
  • Russian SMF Hero
  • ***
  • Сообщений: 5 509
  • Карма: +607/-52
  • One sick bastard
    • Тестовый форум SMF
  • Версия SMF: 2.0.2
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #12 : 26 Мая 2008, 18:15:38 »
allow_url_fopen включен. Вторую опцию в конфиге ненашел. Все то же.

Warning: require(T:\home\virtual\xxxxxxx.yyy\forum\SSI.php) [function.require]: failed to open stream: No such file or directory in /home/xxxxxxx_zz_www/index.php on line 2 // корень сайта у хостера

Fatal error: require() [function.require]: Failed opening required 'T:\home\virtual\xxxxxxx.yyy\forum\SSI.php' (include_path='.:/www/php2/lib/php') in /home/xxxxxxx_zz_www/index.php on line 2

   Если инклудом, до SSI.php ругается.


Ну так надо делать require('http://.../SSI.php'), а не require('T:\...\SSI.php')
Конвертирование форумов из uCoz, JForum и других движков в SMF.
Конвертирование галерей в Aeva Media.
Интеграция SMF с различными CMS. Разработка модификаций.

Мои поделки: TopicStarter, OneIP-OneREG, ExtendPostForm, dQuoteSelection, TotalTimeLoggedIn_in_posts, Watermark.light, Highslide Image Viewer, TextareaResizer, NiceToolTips, Memberlist Additional Alphabet, Sisyphus, MathJax
If you do believe that other's work should be free then please come and work for us for free.
Каталог форумов SMF
Телепаты в отпуске

Оффлайн mod

  • Новичок
  • *
  • Сообщений: 5
  • Карма: +0/-0
  • Пол: Мужской
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #13 : 25 Ноября 2008, 15:39:19 »
а может он не работать из за chmod на SSI 644 &

Оффлайн Dux

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
  • Пол: Мужской
Re: Базовый ФАК по SSI (Basic SSI FAQ)
« Ответ #14 : 27 Апреля 2009, 16:53:08 »
Ну так надо делать require('http://.../SSI.php'), а не require('T:\...\SSI.php')

Та же история. Написал напрямую через HTTP://. Выдает ошибку:

Warning: require() [function.require]: URL file-access is disabled in the server configuration in /home/www/z87548/delphicode/test.php on line 7

Warning: require(http://forum.delphicode.ru/SSI.php) [function.require]: failed to open stream: no suitable wrapper could be found in /home/www/z87548/delphicode/test.php on line 7

Fatal error: require() [function.require]: Failed opening required 'http://forum.delphicode.ru/SSI.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/www/z87548/delphicode/test.php on line 7