// templates/advertisment.js.twig // templates/position/announcement-image.js.twig function renderAnnouncementImageAd(ad) { let imageHtml = ''; if (ad.announcementID.images && ad.announcementID.images.length > 0) { imageHtml = `${ad.announcementID.title}`; } return `
${imageHtml}

${ad.announcementID.sectionID.title}

${ad.announcementID.title}

${ad.companyID.geoID.title} ${ad.companyID.title}
`; }// templates/position/registration-top.js.twig function renderRegistrationTopAd(ad) { let imageHtml = ''; if (ad.companyID.fullFilePathForDownload) { imageHtml = ``; } return `
${imageHtml}

${ad.companyID.title}

${ad.companyID.geoID.title} ${ad.companyID.contactPerson}
`; } // templates/position/through-banner-small.js.twig function renderThroughBannerSmallAd(ad) { let imageHtml = ''; if (ad.fullFilePathForDownload) { imageHtml = `
${ad.title}
`; } return `
${imageHtml}

${ad.title}

${ad.text}

`; } (function() { const advertismentId = 90780; fetch(`/api/ads/${advertismentId}`) .then(response => response.json()) .then(data => { let renderedAd = ''; switch(data.positionID.name) { case 'announcement-image': renderedAd = renderAnnouncementImageAd(data); break; case 'registration-top': renderedAd = renderRegistrationTopAd(data); break; case 'through-banner-small': renderedAd = renderThroughBannerSmallAd(data); break; // ... другие типы рекламы } // Вставьте отрендеренную рекламу в нужное место на вашей странице document.querySelector('#ad90780').innerHTML = renderedAd; }); })();