Forums / National / Russian / Тех. поддержка / Показать html странички из категории

необходимо показать отдельные html странички из категории

Denisbox
#1 2013-11-20 13:38

Добрый день!

Есть сайт под управлением Cotonti Siena.

Некий товарищ поставил задачу вывести отдельные статические странички из директории (пусть будет директория "files").

Странички обычные: index.html;index2.html...

При переходе в категорию и обращения к данному файлу получаю, "доступ запрещён".

Сам вопрос" как решить проблему?"

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

contact: fonts (at) otlab . ru
Sergey
#2 2013-11-20 14:33

В файле page.main.php имеется со строки 67

if (mb_substr($pag['page_text'], 0, 6) == 'redir:')
{
	$env['status'] = '303 See Other';
	$redir = trim(str_replace('redir:', '', $pag['page_text']));
	$sql_page_update = $db->query("UPDATE $db_pages SET page_filecount=page_filecount+1 WHERE page_id=$id");
	header('Location: ' . (preg_match('#^(http|ftp)s?://#', $redir) ? '' : COT_ABSOLUTE_URL) . $redir);
	exit;
}
elseif (mb_substr($pag['page_text'], 0, 8) == 'include:')
{
	$pag['page_text'] = cot_readraw('datas/html/'.trim(mb_substr($pag['page_text'], 8, 255)));
}
if ($pag['page_file'] && $a == 'dl' && (($pag['page_file'] == 2 && $usr['auth_download']) || $pag['page_file'] == 1))
{

В первом случае, в начале текста статьи должно быть слово redir: с указанием куда перейти
Во втором случае,  включение слова include: имя файла из раздела datas/html/

Пробуйте.

 

www.cotonti.mobi
Denisbox
#3 2013-11-21 11:45

Sergey, спасибо огромное!

Сейчас буду пробовать!

contact: fonts (at) otlab . ru
Macik
#4 2013-11-21 13:45

В таком случае текст из HTML файла будет загнружен как содержимое страницы.

А если надо содержимое этой (или другой) страницы выводить в произвольном месте шаблона, то используй плагин «pagetextbyid».

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Dayver
#5 2013-11-22 06:58

Ага только вот код этих html файлов должен быть расчитан на такой инклуд а то если это будут обычные html файлы с нормлаьной стркутурой разметки то получится после инклуда два <body> два <title> - как бы валидность страдает

Pavlo Tkachenko aka Dayver
Sergey
#6 2013-11-22 10:26

Ну так закройте <body>.

www.cotonti.mobi
Dayver
#7 2013-11-22 17:12

упс ошибся теперь что механизм redir: что include: используют редиректы ... раньше при include: имел место быть глюк описанный в предыдущем моем посте ... а ща да ок валидность зависит только от самих html файлов

Pavlo Tkachenko aka Dayver
Roffun
#8 2013-11-23 08:43
#38520 Denisbox:

Добрый день!

Есть сайт под управлением Cotonti Siena.

Некий товарищ поставил задачу вывести отдельные статические странички из директории (пусть будет директория "files").

Странички обычные: index.html;index2.html...

При переходе в категорию и обращения к данному файлу получаю, "доступ запрещён".

Сам вопрос" как решить проблему?"

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

Если нужно вывести внутри шаблона (не убирая header и footer) то есть несколько вариантов вывода текста:

1)  Создание нужного экстраполя в админке и вывода его в шаблон в нужное место тегом.

2)  Использование слотов для меню (в админке) и вывод тегом в шаблон в нужном месте.

3)  Создать категорию system (если нет), и в нее публиковать, можно отдельный шаблон назначить ей, содержимое system.

4) Создать папку в корне шаблона, например mystatics , и в эту папку ложить ваш файл html, например text1.html , только переименовать расширение с .html на .tpl 

Тогда в любом месте шаблона делаете так:  {FILE "themes/{PHP.theme}/statics/text1.tpl"}

Если все-таки хотите вывести чистый html файл без header и footer:

Создаете папку в корне сайта, например statics, и пробуете в браузере обратиться по адресу http://ваш сайт/statics/ и получите ответ:

Forbidden

You don't have permission to access /statics/ on this server.

Так и должно быть, ведь вы пытаетесь получить доступ к директории находящейся там же где и остальные служебные директории. Но это в 95% случаев настройки хостинга а не самого Cotonti. Поэтому просто создайте пустой файл index.html в папке statics, в большинстве случаев этого достаточно (на нормальном хостинге). Теперь при обращении по адресу http://ваш сайт/statics/ будет открываться содержимое index.html , а если в папку поместить файл text1.html , то оно естественно отобразится по адресу:

 http://ваш сайт/statics/text1.html

В редких случаях нужно дополнительно создать в папке файл с расширением .htaccess , и указать ему принудительно индексный файл при обращении к папке, файл может быть любой. Чтобы это был index.html , нужно добавить такую запись:

DirectoryIndex index.html

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
Sergey
#9 2013-11-23 08:54

На такой странице include: можно вставить include: с javascript, в котором по document.location или window.location.href осуществить переход, туда, куда надо.

www.cotonti.mobi