Задать вопрос
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel

Как осуществить «переадресацию» в другую часть шаблона под другим GET запросом в smarty?

Здравствуйте!
$action берётся из php файла, в котором передаётся значение в шаблон. Сам $action - это $_GET['action'];
Структура моего tpl файла такая:
{if $action eq 'html_tags' || $action eq 'html_attributes'}
    // Тут общий код для двух случаев $action.
    {if $action eq 'html_tags'}
        // Тут код для случая html_tags.
    {else}
        // Тут код для случая html_attributes.
    {/if}
{else}
    // Тут прочий код. Это не важно.
{/if}

Я нахожусь сейчас на странице, где $action = 'html_tags';
Там есть ссылка, при нажатии на которую я должен перейти в часть кода, где $action будет равняться 'html_attributes'.
--
Я в js ещё слаб, но скопирую сюда код, которым я пытался добиться нужного мне результата. То, что я не так использую ajax get, это я знаю. Написал сюда так, чтобы вам была понятна примерно сама идея. Вот js код:
$('.link_attr').click(function(){
     var id = $(this).attr('title');
     $.ajax({
          type: 'GET',
          url: '/site/templates/templates.tpl',
          data: {'action' : 'html_attributes'},
          success: function(data){
                // Тут некоторые действия.
          }
     });
});

--
Если короче говорить, то мне нужно как-то изменить $_GET['action'] посредством ajax запроса без перезагрузки страницы. Подскажите, пожалуйста.
  • Вопрос задан
  • 2342 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mx2000
а ничего, что smarty - server-side движок? Прямая ссылка на tpl ничего не даст.

А вообще, вероятно, что HTML-рендер для блока $action eq 'html_tags' лежит в каком-то HTML-элементе - его содержимое нужно очищать по клику на линк и дописывать в качестве innerHTML результат выполнения серверного скрипта. Очевидно, что скрипт должен рендерить только часть HTMLа из всего шаблона.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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