<div id="main-3d-viewer"></div>
<div id="model-buttons"></div>
<!-- Тут выводится ваше доп.поле с файлами -->
<div id="model-links-src" style="display:none;">
{xfvalue_model_files}
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const src = document.getElementById('model-links-src');
const box = document.getElementById('model-buttons');
const links = src ? src.querySelectorAll('a[href]') : [];
if (!links.length) return;
// const stl_viewer = new StlViewer(...);
function fileNameFromUrl(url) {
try {
const clean = url.split('?')[0].split('#')[0];
return decodeURIComponent(clean.substring(clean.lastIndexOf('/') + 1));
} catch(e) {
return url;
}
}
function loadModel(url) {
// stl_viewer.remove_model(0);
// stl_viewer.add_model({ id:0, filename:url });
console.log('load:', url);
}
links.forEach(function (a, i) {
const url = a.getAttribute('href');
const text = (a.textContent || '').trim();
const title = text && text !== url ? text : fileNameFromUrl(url);
const btn = document.createElement('button');
btn.type = 'button';
btn.className = 'model-btn';
btn.textContent = title;
btn.dataset.file = url;
btn.addEventListener('click', function () { loadModel(url); });
box.appendChild(btn);
if (i === 0) loadModel(url);
});
});
</script>