OSC Sapka – Hivatalos Semmelweis Merch

3 990 Ft

Az OSC sapka a Semmelweis klasszikus merchandise terméke. Ez az OSC sapka baseball cap fazonú, amely tökéletes választás nyári napokra, edzésekre és szurkolásra egyaránt. Az OSC sapka elején a Semmelweis röplabda klub hivatalos emblémája látható a klub színeiben hímezve. Az OSC sapka állítható hátoldallal rendelkezik, így minden fejméretre tökéletesen illeszkedik. Miért válaszd az OSC sapka-t? A kényelmes kialakítás egész napos viseletet tesz lehetővé, az OSC sapka ernyője véd a napsugárzástól sportolás és szabadidős tevékenységek közben. Az állítható csat tökéletes illeszkedést biztosít. Az OSC sapka könnyű és légáteresztő anyagból készült, amely ideális meleg nyári időjárásban. A sapka könnyen mosható és tartós. Az OSC sapka tökéletes választás röplabda mérkőzésekre történő szurkolásra, edzésekre, szabadtéri sportokra és mindennapi viseletre. Stílusos kiegészítő, amely büszkén hirdeti hovatartozásodat. Az OSC sapka szurkolói must-have darab minden Semmelweis Sport Club rajongónak. Rendeld meg most!

SKU osc-sapka Categories ,

10.000+ nyomtatott póló

Több mint 20 éve a szakmában

Express szálítás

Akár másnap nálad lehet a rendelésed

70 mosásig tartós

Nyomataink legalább 70 mosást kibírnak fakulás nélkül.

További OSC Semmelweis Merch

`); } }); }, /** * Add to cart with image via AJAX */ addToCartWithImage: function($form, imageData, callback) { // Get form data var formData = new FormData($form[0]); // Add our custom image data formData.append('_fpd_custom_highres_image', imageData); formData.append('action', 'fpd_add_to_cart_with_image'); formData.append('nonce', 'a8e764bdd8'); // AJAX request $.ajax({ url: 'https://polovarazs.hu/wp-admin/admin-ajax.php', type: 'POST', data: formData, processData: false, contentType: false, success: function(response) { //console.log('AJAX response:', response); if (response.success) { // Update cart fragments if (response.data.fragments) { $.each(response.data.fragments, function(key, value) { $(key).replaceWith(value); }); } if (callback) callback(true); } else { console.error('Add to cart failed:', response.data); if (callback) callback(false); } }, error: function(xhr, status, error) { console.error('AJAX error:', error); if (callback) callback(false); } }); }, /** * Main capture function */ capturePreviewImage: function(callback) { var self = this; try { //console.log('Capturing high-res preview image...'); // Method 1: Check for existing preview modal image var previewImg = document.querySelector('.fpd-modal img, .fpd-preview-modal img, .fpd-lightbox img'); if (previewImg && previewImg.src && previewImg.src.startsWith('data:image')) { //console.log('Found preview image in modal'); self.handleFoundImage(previewImg.src, 'modal', callback); return; } // Method 2: Try the getProductDataURL method if (typeof fancyProductDesigner.getProductDataURL === 'function') { //console.log('Trying getProductDataURL method...'); fancyProductDesigner.getProductDataURL(function(combinedDataURL) { if (combinedDataURL) { self.handleFoundImage(combinedDataURL, 'combined', callback); } else { self.generateManualCombinedImage(callback); } }); return; } // Method 3: Generate combined image manually //console.log('Generating combined image manually...'); self.generateManualCombinedImage(callback); } catch (error) { console.error('Error capturing preview:', error); if (callback) callback(null); } }, /** * Generate combined image manually from individual views */ generateManualCombinedImage: function(callback) { var self = this; // Reset zoom on all views if (fancyProductDesigner.viewInstances) { fancyProductDesigner.viewInstances.forEach(function(view) { if (view.fabricCanvas) { view.fabricCanvas.resetZoom(); view.fabricCanvas.calcOffset(); } }); } setTimeout(function() { fancyProductDesigner.getViewsDataURL( function(dataURLArray) { //console.log('Received', dataURLArray.length, 'individual views'); if (dataURLArray.length === 1) { self.handleFoundImage(dataURLArray[0], 'single', callback); } else if (dataURLArray.length > 1) { self.combineImagesVertically(dataURLArray, callback); } }, { format: 'png', quality: 1.0, multiplier: 2.5 } ); }, 100); }, /** * Combine multiple images vertically */ combineImagesVertically: function(imageDataURLs, callback) { //console.log('Combining', imageDataURLs.length, 'images vertically...'); var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var loadedImages = []; var imagesLoaded = 0; var self = this; // Load all images first imageDataURLs.forEach(function(dataURL, index) { if (!dataURL) return; var img = new Image(); img.onload = function() { loadedImages[index] = this; imagesLoaded++; if (imagesLoaded === imageDataURLs.filter(url => url).length) { // All images loaded, now combine them var maxWidth = Math.max(...loadedImages.filter(img => img).map(img => img.width)); var totalHeight = loadedImages.filter(img => img).reduce((sum, img) => sum + img.height, 0); canvas.width = maxWidth; canvas.height = totalHeight; // Set white background ctx.fillStyle = '#ffffff'; ctx.fillRect(0, 0, maxWidth, totalHeight); var currentY = 0; loadedImages.forEach(function(img) { if (img) { var x = (maxWidth - img.width) / 2; // Center horizontally ctx.drawImage(img, x, currentY); currentY += img.height; } }); var combinedDataURL = canvas.toDataURL('image/png', 1.0); //console.log('Combined image created, length:', combinedDataURL.length); self.handleFoundImage(combinedDataURL, 'manual-combined', callback); } }; img.src = dataURL; }); }, /** * Handle found/generated image */ handleFoundImage: function(imageDataURL, source, callback) { //console.log('High-res image generated from source:', source); //console.log('Image length:', imageDataURL.length); // Store the image this.lastGeneratedImage = imageDataURL; // Execute callback if provided if (callback) { callback(imageDataURL); } // Make download function available globally window.downloadFPDImage = function() { if (FPDHighResGenerator.lastGeneratedImage) { var link = document.createElement('a'); link.download = 'fpd-image-' + Date.now() + '.png'; link.href = FPDHighResGenerator.lastGeneratedImage; document.body.appendChild(link); link.click(); document.body.removeChild(link); } }; //console.log('%c💾 Type downloadFPDImage() to download the image', 'color: #4CAF50; font-size: 12px;'); } }; });
Search
×

Gyűjtsd be a 10% kedvezményes kupont és váltsd be az első rendelésednél!

Tervezd meg a saját pólódat, és élvezd az első rendelés örömét kedvezményesen.

Vezetéknév *
Keresztnév *
E-mail *