Добавить к классам css значение из переменной?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 4 ноября 2021 в 12:15

Привет. в общем задачка стоит такая.

Есть класс .fon_sd{} Есть переменная <?= $id_vid; ?> Переменная генерируется из админке и содержит уникальное имя, к примеру — cz Мне необходимо дополнить класс .fon_sd и на выходе получить .fon_sdcz Пробовал так .fon_sd.<?= $id_vid; ?>{} не работает.

Класс .fon_sd находится между тегами <style</style>

Небольшой скелет

  1. <style>
  2. .fon_sd.<?= $id_vid; ?>{background:<?= $fon_s ?>}
  3. </style>
  4.  
  5. <div class="d-flex">
  6. <div class="fon_sd<?= $id_vid; ?>">
  7. <div class="imgspec_text col-12 text-center align-self-center">
  8. бла бла
  9. </div>
  10. </div>
  11. </div>
  12.  

Собственно то что обернуто в стили не работает. Как то можно это решить или искать другое решение? Мне необходимо получить уникальный класс, который не будет дублироваться в виджетах.

#2 4 ноября 2021 в 13:13

Собственно то что обернуто в стили не работает.

KoRn

А что не обернуто работает?

#3 4 ноября 2021 в 14:05

Посмотрите внимательно:

.fon_sd.<?= $id_vid; ?> (в стилях) и fon_sd<?= $id_vid; ?> (где используете)

Возможно стоит убрать точку в первом случае (так сделать: .fon_sd<?= $id_vid; ?>)? Если вы добавляете так в шаблон, то в теле страницы можно посмотреть, что получилось.

#4 4 ноября 2021 в 15:34

Собственно то что обернуто в стили не работает.

KoRn

А что не обернуто работает?

IamB

Конечно работает, получаю класс — fon_sdcz  Как раз он и выходит на 6 строке. А вот стили к этому классу работать не хотят так как на 2 строке в чем то проблема.

Посмотрите внимательно:

.fon_sd.<?= $id_vid; ?> (в стилях) и fon_sd<?= $id_vid; ?> (где используете)

Возможно стоит убрать точку в первом случае (так сделать: .fon_sd<?= $id_vid; ?>)? Если вы добавляете так в шаблон, то в теле страницы можно посмотреть, что получилось.

Evg

Делал и так и так, упорно не выходит. Я выложил код на paiza.io, может как то прояснит дело, хотя ошибка там не подсвечивается. Если же работаю в VSС то при удалении точки весь класс  fon_sd красный. Код  paiza.io/projects/plYBTclEnBxzvzZVHvGJhg?language=php

Немного позднее плюнул на красное предупреждение VSC сохранил и запустил, в итоге работает. Но собственно почему  VSC ругается, типа мол неверно пишу?

Изображение

Другие варианты, в итоге подсвечены по другому. Или не стоит обращать внимания?)))

Изображение

#5 4 ноября 2021 в 18:00

Но собственно почему  VSC ругается, типа мол неверно пишу?

KoRn

Видимо, для VSC это сложная задача: у вас php-файл, в нем html в перемежку с php, а вы еще и в тег <style> php код вставили. Всё-таки VSC — это не PHP-парсер.

#6 4 ноября 2021 в 18:14

Но собственно почему  VSC ругается, типа мол неверно пишу?

KoRn

Видимо, для VSC это сложная задача: у вас php-файл, в нем html в перемежку с php, а вы еще и в тег <style> php код вставили. Всё-таки VSC — это не PHP-парсер.

IamB

Это да верно, хорошо всем спасибо что уделили время)). В принципе вопрос решен.

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.