Несколько вопросов по smarty

Статус
В этой теме нельзя размещать новые ответы.

mehoney

Создатель
Регистрация
5 Дек 2008
Сообщения
20
Реакции
6
Обрисую ситуацию:

-index.php
<?php

// include smarty-cms config
require('config/smartycms.config.php');

// load smarty-cms library
require_once(LIB_DIR.'smarty-cms/Smarty_cms.php');

// create smarty-cms class
$tpl = new Smarty_cms();

// show template
$tpl->display();

?>

- Все страницы получают такие адреса, основываясь на имя соответствующих темлат:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

- Содержание .htaccess
RewriteEngine on
Options +FollowSymlinks

RewriteCond %{HTTP_HOST} ^site.com
RewriteRule (.*) http://www.site.com/$1 [R=301,L]

RewriteRule ^css/(.+) - [L]
RewriteRule ^js/(.+) - [L]
RewriteRule ^rss/(.+) - [L]

RewriteRule ^(.+)/(.+)/? index.php?page=$1&sub=$2 [L,QSA]
RewriteRule ^(.*)/? index.php?page=$1 [L,QSA]

- Сайт мелкий, без каких либо cms, все ручками делаю :)

Вопросы:
1. Возможно ли чтобы вид ссылки был со слешем на конце, т.е. Для просмотра ссылки Войди или Зарегистрируйся ?

2. Добавляю новую папку на сайт - Для просмотра ссылки Войди или Зарегистрируйся. Как сделать, чтобы смарти не пытался найти соответствующую темплату, а просто показалось содержимое этой папки. Вот так не помогает - RewriteRule ^pictures/(.+) - [L] - Адрес приходится набирать до конкретного файла.

3. Хочу добавить какую-нибудь php форму (<?php ?>) на страницу, но смарти сразу же выдает ошибки. Я пытался сунуть весь пхп в темплату, а потом добавить на страницу с помощью {include file="includes/form.tpl"}, но безрезультатно.
Вот это пожалуй самый важный вопрос, как добавить форму в темплату, чтобы со смарти не было проблем?


PS: при попытке вставить php вставку в шаблон, ошибка получается вот такая:

Fatal error: Smarty error: [in includes/contacts_php.tpl line 9]: syntax error: unrecognized tag: if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']) { if (isset($_POST['posName']) && $_POST['posName'] == "") { $statusError = "$errors_name"; (Smarty_Compiler.class.php, line 446) in /home/users/domain/htdocs/libraries/smarty/Smarty.class.php on line 1095

Cама php форма работает 100%
 
Может быть такое, что понятие smarty понято неправильно? В смарти не пишут кодом php, там обычно чистый html со вставками тегов смарти. Поэтому форма описывается в темплейте, а вот обрабатывается в php.
 
Может быть такое, что понятие smarty понято неправильно? В смарти не пишут кодом php, там обычно чистый html со вставками тегов смарти. Поэтому форма описывается в темплейте, а вот обрабатывается в php.

Вполне может. Пробовал еще пхп вставлять с помощью {php} {/php} и на странице появлялась нужная форма, но все равно ничего не работает :)
 
Проблема скорее в движке, а не в smarty. Надо посмотреть как он обрабатывает приходящие УРЛ и возможно добавить исключения (как вариант)....
 
для листинга содержимого каталогов добавь в htaccess

Options Indexes

и

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху