TeraMoune
Вывод название фала доп поля в fullsory?
Сегодня, 21:50
На самом деле тут ничего никуда не надо вытаскивать. Тут основной момент разделить всё. И так и должно быть так правильно.
Отдельно одна область просмотра, файлы attachment содержат только html кнопки скачивания и просмотра. В них ничего постороннего быть не должно, ни скриптов ни стилей. Саму функцию нужно делать общей для всех кнопок но в них каждая передаёт какой-то свой параметр от чего код функции применяется соответствующий. Как в примере кода выше. Там loadModel принимает fileurl.
В примере кода выше хоть и передаётся url можно и передать id. Но в таком случае в вызове функции нужно будет уже сперва обратиться к соответствующей ссылке по её id или классу с тем самым id. И от туда достать ссылку для загрузки модели.
Единственное что отметить надо, это создание первичного объекта stl_viewer который у вас в функциях создавался постоянно. Это не надо делать. Если stl_viewer уже был создан. То с ним можно взаимодействовать повторно, вызывая в нём методы, remove_model, add_model.
Для просмотра содержимого спойлера, перейдите к выбранному событию.
byroot
Вывод название фала доп поля в fullsory?
Сегодня, 10:20
Посмотри модуль "Conclusion attachments", с ним возможно будет проще оформление сделать как нужно и выводить только нужные данные из прикрепленного файла
Апельсин
Вывод название фала доп поля в 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% всё будет выводится без проблем, но кроме запрещенных стран.