Как передать переменную Javascript в Twig в этом конкретном примереCSS

Разбираемся в CSS
Ответить
Anonymous
 Как передать переменную Javascript в Twig в этом конкретном примере

Сообщение Anonymous »

Следующий код находится в моем шаблоне Twig и предназначен для загрузки файла CSS или другого в зависимости от темы, выбранной пользователем. Это прекрасно работает на простой странице HTML, но когда я пытаюсь перенести это в шаблон Twig моего приложения Symfony, я не могу найти способ передать CSS маршрут (с помощью Twig) к функции Javascript document.write.

Код: Выделить всё

var themeSettings = (localStorage.getItem('themeSettings')) ? JSON.parse(localStorage.getItem('themeSettings')) :
{};
var themeName = themeSettings.themeName || '';
if (themeName)
{
document.write('');
}
else
{
document.write('');
}


Другими словами: я хочу добавить href документа.write функция какая (в Twig) это будет:
Где «app-» является неизменным, а слово «red» является переменным в зависимости от значения var themeName

Для этого я попробовал это:

Код: Выделить всё

var themeSettings = (localStorage.getItem('themeSettings')) ? JSON.parse(localStorage.getItem('themeSettings')) :
{};
var themeName = themeSettings.themeName || '';
if (themeName)
{
document.write('');
}
else
{
document.write('');
}

Но это не работает. Выдало следующую ошибку:


Переменная "themeName" не существует в ::base.html.twig в строке 1188


Думаю, это потому, что themeName это не переменная Twig, а переменная Javascript.

Я думаю, проблема в том, что я не могу передать Javascript в Twig, потому что Javascript — на стороне клиента, а Twig — на стороне сервера.
Итак, как я могу решить эту проблему ? Возможно, я иду неправильным путем, возможно, можно использовать Ajax, но я не знаю, как это сделать.

Подробнее здесь: https://stackoverflow.com/questions/388 ... ar-example
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»