Что нового

Вывод закладок в профиль пользователя

  • Автор темы Автор темы Karafa
  • Дата начала Дата начала

Karafa

Посетитель
Регистрация
25 Фев 2025
Сообщения
13
Реакции
21
Данный плагин помогает вывести закладки в профиль пользователя для киносайта
Данный плагин предоставляет тег {fav-c} в userinfo.tpl
Для работы обязательно должно быть доп. поле - poster, в нем должен лежать путь или ссылка на постер
Выводить плагин будет:
Код:
<div class="favour_prof">
    <img src="доп. поле - poster" class="poster_info">
    <a class="favour_prof_a" href="полную ссылка на новость">название новости</a>
</div>

Если ничего в закладках нету, то:
Код:
<div>Ой, тут пусто</div>

Плагин очень простой, прошу вас его доработать и сделать его более универсальным


Проверял на DLE 17.0
 
432.jpg

CSS:
.favour_prof {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #eee;
  border-radius: 10px;
  background-color: #f9f9f9;
}

.poster_info {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.favour_prof_a {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  line-height: 1.4;
}

.favour_prof_a:hover {
  text-decoration: underline;
  color: #007acc;
}

? Что было улучшено:
✔️Безопасная обработка ID — intval защищает от SQL-инъекций.
✔️ Изображение постера выводится только если оно указано.
✔️ HTML стал семантически правильным — section вместо div для логичности.
✔️ Добавлена проверка на наличие xfields, чтобы избежать ошибок при пустом поле.
✔️ Если нет poster, то автоматически выводится изображение-заглушка:
/templates/ваш_шаблон/dleimages/no_image.jpg

 
4333.jpg

Код:
<div class="posters_container">{fav-c}</div>
/* Контейнер, в котором размещены все постеры */
.favour_prof {
  width: 180px;        /* чуть меньше ширина для сетки */
  height: 270px;       /* пропорционально уменьшена высота */
  margin: 10px;
  border-radius: 10px;
  box-shadow: 0 6px 15px rgba(0,0,0,0.6);
  background-color: #111;
  font-family: 'Arial Black', Arial, sans-serif;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.favour_prof:hover {
  transform: scale(1.05);
}

.poster_info {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  filter: brightness(0.9);
  transition: filter 0.3s ease;
  display: block;
}

.favour_prof:hover .poster_info {
  filter: brightness(1);
}

.favour_prof_a {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  text-shadow: 1.5px 1.5px 4px rgba(0,0,0,0.8);
  text-decoration: none;
  background: rgba(0,0,0,0.5);
  padding: 6px 10px;
  border-radius: 5px;
  transition: background 0.3s ease;
}

.favour_prof_a:hover {
  background: rgba(255, 0, 0, 0.8);
  text-shadow: 1.5px 1.5px 6px #ff0000;
}

/* Чтобы постеры шли в сетку — родитель должен иметь display: flex; или grid */
.posters_container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center; /* по центру */
}
 

CSS:
.favour_prof {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #eee;
  border-radius: 10px;
  background-color: #f9f9f9;
}

.poster_info {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.favour_prof_a {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  line-height: 1.4;
}

.favour_prof_a:hover {
  text-decoration: underline;
  color: #007acc;
}

? Что было улучшено:
✔️Безопасная обработка ID — intval защищает от SQL-инъекций.
✔️ Изображение постера выводится только если оно указано.
✔️ HTML стал семантически правильным — section вместо div для логичности.
✔️ Добавлена проверка на наличие xfields, чтобы избежать ошибок при пустом поле.
✔️ Если нет poster, то автоматически выводится изображение-заглушка:
/templates/ваш_шаблон/dleimages/no_image.jpg

*** Скрытый текст не может быть процитирован. ***
Очень благодарен тебе! Теперь я буду пользоваться улучшенной версией?
 
Верх