@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 запроса без перезагрузки страницы. Подскажите, пожалуйста.
  • Вопрос задан
  • 2341 просмотр
Пригласить эксперта
Ответы на вопрос 1
@mx2000
а ничего, что smarty - server-side движок? Прямая ссылка на tpl ничего не даст.

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

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

Войти через центр авторизации
Похожие вопросы