Апельсин
Вывод название фала доп поля в fullsory?
Сегодня, 08:41
у меня тоже сайт с 3d моделями и печатью, так же лазерная резка. могу помочь тебе, не сложно это
Да, это можно сделать, но тут важно разделить attachment и доп-поле с файлом.
На вашей странице уже видно, что названия файлов выводятся как отдельные ссылки сверху — например Название файла.3mf и Название файла.tpl. Значит имя файла в принципе у вас уже доступно в выводе вложений.
Что здесь главное:
1. Если файл загружен через attachment Тогда у DLE обычно правильный путь — выводить список кнопок через attachment.tpl, потому что там у каждого файла есть собственные данные, в том числе название. То есть:
одно общее окно 3D-просмотра — в fullstory.tpl
список кнопок файлов — через цикл attachment
текст кнопки — название вложения
Именно это вам и нужно: 1 окно + 10 кнопок, а не 10 окон.
Тогда JS подставляет в одно общее окно нужную модель по клику на кнопку.
2. Если файл загружен именно в доп-поле (xfield) Вот тут уже проблема: штатно в fullstory.tpl DLE обычно отдает ссылку, а не отдельное “красивое имя файла”. То есть вывести название файла как в attachment — чаще всего нельзя одним стандартным тегом, если у вас это именно xfield-типа “файл”.
В таком случае есть 3 варианта:
Вариант A — лучший: Использовать attachments для файлов моделей, а не xfield. Тогда названия можно выводить нормально через {name}.
Вариант B — хранить отдельное доп-поле с названием Например:
Вариант C — вытаскивать имя из URL через JS Например из ссылки /uploads/files/model_organizer_v2.3mf сделать текст кнопки model organizer v2.3mf. Но это уже костыль, потому что:
<script>
document.addEventListener('DOMContentLoaded', () => {
const viewer = document.getElementById('main-3d-viewer');
const buttons = document.querySelectorAll('.fs-model-btn');
function loadModel(fileUrl) {
viewer.innerHTML = 'Здесь загружается модель: ' + fileUrl;
// Тут уже подставляете ваш код загрузки 3D-модели
// например через <model-viewer> или Three.js
}
buttons.forEach((btn, index) => {
btn.addEventListener('click', () => {
loadModel(btn.dataset.file);
});
if (index === 0) {
loadModel(btn.dataset.file);
}
});
});
</script>
Итог
Да, вывести название файла можно, если использовать attachment. И это как раз лучше всего подходит под вашу задачу: одно окно 3D + много кнопок с именами файлов.
Если же файлы лежат в xfield, то штатно отдельно имя файла в fullstory обычно не вытащить, и тогда либо:
переходить на attachments,
либо делать отдельное поле под название,
либо вытаскивать имя из ссылки через JS/PHP.
С практической точки зрения для вас самый чистый вариант — оставить viewer в fullstory.tpl, а кнопки и названия брать из attachment.tpl.
byroot
Не работает Iframe с AllaTV?
14-03-2026, 20:13
Чтобы был всегда актуальный домен для плеера, нужно на страницу с плеером добавить JS скрипт, который указан в ЛК балансера. Иначе может быть просто черный iframe вместо нормального плеера.
Потом, модулем лучше в доп поле проставлять только ссылку, и в шаблоне непосредственно уже прописывать вывод <iframe src="[xfvalue_iframe_url]".... и тогда 100% всё будет выводится без проблем, но кроме запрещенных стран.
TeraMoune
Как добавить заглушку к php коду?
10-03-2026, 22:12
Как бы нет такого понятия функция выключена. Она если вызвана всегда отрабатывает и завершается. Но у вас код не функция. Функции вон pg_. Они вызываются. Дальше уже цикл или сработает или нет. И программа идёт дальше после цикла. Если дописать еще echo она выведет уже не пустоту. Но важно понимать, echo не прерывает, он просто выводит. Причём если цикл сработает более одного раза то и вывод будет более одного раза. И в целом будет каша из последующих выводов (функция активна и выводится) и других сообщений.
Если нужно прерывание то нужно смотреть в сторону die или exit. В обоих местах если нужно только на первом вхождении цикла оборвать работу и вывести что-то.