Smarty и нет кеша для страницы / части страницы - PullRequest
0 голосов
/ 13 сентября 2011

Я использую сценарий VLDPersonals, и он использует smarty для системы шаблонов, с этим нет проблем, однако мне нужно было добавить страницу уведомлений, где пользователи должны нажимать кнопку «Я понял», с этим проблем нет., smarty решает кэшировать / компилировать страницу, поэтому, когда придет следующий пользователь, он не сможет нажать кнопку, так как не работает php POST-дескриптор ... Текущий код:

<div class="entry">
            <?php
            if(isset($_POST['understand'])) {
                $conn = mysql_connect('localhost', 'user', 'password');
                mysql_select_db("table", $conn);
                mysql_query("sql..");

            }
            ?> 
                <p>Notice text</p>
                <form action="" method="post">
                    <input type="submit" value="I Understand!" name="understand" />
                </form>
            </div>

Я пыталсядобавить теги {nocache}, не сработало, попытался определить тег nocache через какое-то руководство, которое я нашел, не сработало, попыталось очистить кеш, не сработало. Объект smarty назначен на $ TEMPLATE, кто-нибудь может помочь?Причиняет мне головные боли!

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011

vldPersonals не использует Smarty, он использует свой собственный механизм шаблонов.Хотя можно использовать чистый код PHP в файлах .tpl, это не рекомендуется.Я бы предложил использовать операторы php в соответствующем файле lib (например, lib.account_home.php для account / home / page).Посмотрите на код предупреждения для взрослых в качестве примера в lib.member_pictures.php и member_pictures_view.tpl

0 голосов
/ 14 сентября 2011

Полагаю, вы можете использовать настройку force_compile.

$TEMPLATE->force_compile = true
...