Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Проблема с тегом [aviable] и с ajax обработкой страниц.Как исправить?

Проблема с тегом [aviable] и с ajax обработкой страниц.Как исправить?


     10.09.2015    Шаблоны (TPL), Общие вопросы по PHP    708

вопрос
Ребята, в общем такая проблема.Поковырял движок под себя.Всё устраивает, только вот теперь теги такие как например [aviable] и другие не работают...да бог с ними, но вот [aviable] нужен дабы вывести форму поиска только на главной..а тег не работает.(Нашел хак) исправил я это тем,что добавил в engine/classes/templates.class.php этот код:

if (strpos ( $this->template, "[mainpage]" ) !== false) {
            if( $_SERVER['REQUEST_URI'] == '/index.php' OR $_SERVER['REQUEST_URI']== '/' )
                $this->template = preg_replace ( "#\\[mainpage\\](.*?)\\[/mainpage\\]#is", "\\1", $this->template );
            else
                $this->template = preg_replace ( "#\\[mainpage\\](.*?)\\[/mainpage\\]#is", '', $this->template );
        }


и ещё в одном месте ниже

if (strpos ( $template, "[mainpage]" ) !== false) {
            if( $_SERVER['REQUEST_URI'] == '/index.php' OR $_SERVER['REQUEST_URI']== '/' )
                $template = preg_replace ( "#\\[mainpage\\](.*?)\\[/mainpage\\]#is", "\\1", $template );
            else
                $template = preg_replace ( "#\\[mainpage\\](.*?)\\[/mainpage\\]#is", '', $template );
        }

и вывел форму поиска в main.tpl вот так

               [mainpage]
               <div class="search">
        <form id="quicksearch" method="post" action=''>
            <input type="hidden" name="do" value="search">
            <input type="hidden" name="subaction" value="search">
            <div class="quicksearch">
                <input class="f_input" placeholder="Поиск..." name="story" value="" type="search">
                <button type="submit" title="Искать" class="thd">Искать</button>
            </div>
        </form>
               </div>
               [/mainpage]

Всё стало как положено, кроме того, что теперь не обрабатываются ajax.То-есть заходишь на сайт, видно форму поиска как и положено, переходишь в другой раздел или в полную новость и тоже видно форму поиска, а если обновить страницу то форма пропадает как и должно быть.Я добавил строчку
{include file="/index.php"}
в файл templates/default/mainajax.tpl и стало выглядеть так содержимое mainajax.tpl


<script type="text/javascript">
$('#maininfo').html('');
</script>

{include file="/index.php"}

{content}


На сайте всё стало как мне нужно, но теперь не срабатывает ajax, то-есть страницы обновляется с перезагрузкой а не как раньше без перезагрузки (по этому всё и заработало)

Помогите пожалуйста.Я новичёк...всю голову уже изломал.
как мне исправить ситуацию?

Ответа пока нет


Комментарии пользователей (1)

pavel31
4

343 | 158

pavel31 - 23 сентября 2015 23:44 - Юзер

В mainajax.tpl добавь в скрипт
$('#search').css('display', '[not-aviable=main]none[/not-aviable]');

а форму поиска оберни в теги
<div id="search"> форма поиска </div>

Таким образом поиск будет только на главной странице.
И не надо ковырять движок :)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы