PageSourceSearch

https://otoparcaplus.com/cart

html otoparcaplus.com collected 2026-09-29 16:11:17 UTC 9,641 bytes, 249 lines download raw bytes

1 <!DOCTYPE html>
2<html lang="tr">
3<head>
3<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push(i)})
4(window,'GTM-NN593V6L','google_tags_first_party');</script>
4<script>(function(w,d,s,l){w[l]=w[l]||[];(function(){w[l].push(arguments);})('set', 'developer_id.dYzg1YT', true);
5		w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
6		j=d.createElement(s);j.async=true;j.src='/58jr/';
7		f.parentNode.insertBefore(j,f);
8		})(window,document,'script','dataLayer');</script>
8
9    <meta charset="UTF-8">
10    <meta name="viewport" content="width=device-width, initial-scale=1.0">
11    <title>Sepetim | Oto Parça Plus | Oto Yedek Parça</title>
12
13
14    
15    <!-- Tailwind CSS -->
16    
16<script src="https://cdn.tailwindcss.com"></script>
16
17    
17<script>
18        tailwind.config = {
19            theme: {
20                extend: {
21                    colors: {
22                        primary: {
23                            DEFAULT: '#db6624',
24                            dark: '#9B2101',
25                            light: '#FDE8E4'
26                        },
27                        secondary: {
28                            DEFAULT: '#7e1b00',
29                            dark: '#5E1400',
30                            light: '#F9E6E2'
31                        },
32                        accent: {
33                            DEFAULT: '#D82C0D',
34                            light: '#FEE4E2'
35                        }
36                    }
37                }
38            }
39        }
40    </script>
40
41    
42    <!-- Font Awesome -->
43    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
44</head>
45<body class="bg-gray-50">
46    <!-- Minimal Üst Bar -->
47    <div class="bg-white border-b mb-4">
48        <div class="max-w-7xl mx-auto px-4 py-4">
49            <div class="flex flex-col sm:flex-row items-center justify-between h-auto sm:h-24">
50                <!-- Logo -->
51                <a href="https://otoparcaplus.com" class="flex items-center mb-4 sm:mb-0">
52                    <img src="./store/assets/images/logo/oto_parca_plus_parca.webp" 
53                         alt="Oto Parça Plus | Oto Yedek Parça" 
54                         class="h-10 sm:h-20 w-auto">
55                </a>
56                
57                <!-- Alışverişe Dön Butonu -->
58                <a href="https://otoparcaplus.com" 
59                   class="flex items-center gap-2 text-gray-600 hover:text-primary transition-colors text-sm sm:text-base">
60                    <i class="fas fa-arrow-left"></i>
61                    <span>Alışverişe Dön</span>
62                </a>
63            </div>
64        </div>
65    </div>
66    
67    <main class="max-w-7xl mx-auto px-4 py-8">
68        <div class="mb-8">
69            <h1 class="text-xl sm:text-2xl font-bold text-gray-900 text-center sm:text-left">Alışveriş Sepetim</h1>
70        
71        </div>
72        
73                    <div class="bg-white rounded-lg shadow-sm p-8 text-center">
74                <i class="fas fa-shopping-cart text-4xl text-gray-300 mb-4"></i>
75                <p class="text-gray-600 mb-4">Sepetinizde ürün bulunmamaktadır.</p>
76                <a href="https://otoparcaplus.com" class="inline-flex items-center px-4 py-2 bg-primary text-white rounded-lg hover:bg-primary-dark transition-colors">
77                    <i class="fas fa-arrow-left mr-2"></i>
78                    Alışverişe Devam Et
79                </a>
80            </div>
81            </div>
82    </main>
83
84    
84<script>
85        // Miktar güncelleme
86    function updateQuantity(itemId, action) {
87        const input = document.getElementById('quantity-' + itemId);
88        let quantity = parseInt(input.value);
89        
90        if (action === 'increase' && quantity < 99) {
91                    quantity++;
92                } else if (action === 'decrease' && quantity > 1) {
93                    quantity--;
94                }
95        
96        input.value = quantity;
97        
98        // AJAX ile güncelle
99        const formData = new FormData();
100        formData.append('item_id', itemId);
101        formData.append('quantity', quantity);
102                
103                fetch('/store/cart/update.php', {
104                    method: 'POST',
105            body: formData,
106                    headers: {
107                'X-Requested-With': 'XMLHttpRequest'
108                    },
109            credentials: 'same-origin'
110                })
111                .then(response => response.json())
112                .then(data => {
113                    if (data.success) {
114                // Sepet sayısını güncelle
115                const cartCount = document.getElementById('cart-count');
116                if (cartCount) {
117                    cartCount.textContent = data.cart_count;
118                }
119                
120                // Sayfayı yenile
121                        location.reload();
122            } else {
123                alert(data.message || 'Bir hata oluştu.');
124            }
125        })
126        .catch(error => {
127            console.error('Hata:', error);
128            alert('Bir hata oluştu. Lütfen tekrar deneyin.');
129        });
130    }
131    
132    // Ürün silme
133    function removeItem(itemId) {
134        if (!confirm('Bu ürünü sepetinizden çıkarmak istediğinize emin misiniz?')) {
135            return;
136        }
137        
138        const formData = new FormData();
139        formData.append('item_id', itemId);
140                
141                fetch('/store/cart/remove.php', {
142                    method: 'POST',
143            body: formData,
144                    headers: {
145                'X-Requested-With': 'XMLHttpRequest'
146                    },
147            credentials: 'same-origin'
148                })
149                .then(response => response.json())
150                .then(data => {
151                    if (data.success) {
152                // Sepet sayısını güncelle
153                const cartCount = document.getElementById('cart-count');
154                if (cartCount) {
155                    cartCount.textContent = data.cart_count;
156                }
157                
158                // Ürünü DOM'dan kaldır
159                const item = document.querySelector('[data-cart-item="' + itemId + '"]');
160                if (item) {
161                    item.remove();
162                }
163                
164                // Eğer sepet boşsa sayfayı yenile
165                if (document.querySelectorAll('[data-cart-item]').length === 0) {
166                        location.reload();
167                    }
168            } else {
169                alert(data.message || 'Bir hata oluştu.');
170            }
171        })
172        .catch(error => {
173            console.error('Hata:', error);
174            alert('Bir hata oluştu. Lütfen tekrar deneyin.');
175        });
176    }
177    
178    // Ödemeye geç
179    function checkout() {
180        window.location.href = 'order-step-1';
181    }
182
183    // Hediye çeki uygulama fonksiyonu
184    function applyGiftCard() {
185        const code = document.getElementById('gift-card-code').value;
186        const messageDiv = document.getElementById('gift-card-message');
187        
188        if (!code) {
189            messageDiv.textContent = 'Lütfen hediye çeki kodunu giriniz.';
190            messageDiv.className = 'mt-2 text-sm text-red-500';
191            messageDiv.classList.remove('hidden');
192            return;
193        }
194        
195        // AJAX ile hediye çeki kontrolü
196        fetch('/store/cart/apply-gift-card.php', {
197            method: 'POST',
198            headers: {
199                'Content-Type': 'application/json',
200                'X-Requested-With': 'XMLHttpRequest'
201            },
202            body: JSON.stringify({ code: code })
203        })
204        .then(response => response.json())
205        .then(data => {
206            if (data.success) {
207                messageDiv.textContent = 'Hediye çeki başarıyla uygulandı.';
208                messageDiv.className = 'mt-2 text-sm text-green-500';
209                // Sayfayı yenile
210                location.reload();
211            } else {
212                messageDiv.textContent = data.message || 'Hediye çeki geçersiz veya kullanılmış.';
213                messageDiv.className = 'mt-2 text-sm text-red-500';
214            }
215            messageDiv.classList.remove('hidden');
216        })
217        .catch(error => {
218            messageDiv.textContent = 'Bir hata oluştu. Lütfen tekrar deneyin.';
219            messageDiv.className = 'mt-2 text-sm text-red-500';
220            messageDiv.classList.remove('hidden');
221        });
222    }
223
224    // Hediye çeki kaldırma fonksiyonu
225    function removeGiftCard() {
226        fetch('/store/cart/remove-gift-card.php', {
227            method: 'POST',
228            headers: {
229                'X-Requested-With': 'XMLHttpRequest'
230            },
231            credentials: 'same-origin'
232        })
233        .then(response => response.json())
234        .then(data => {
235            if (data.success) {
236                window.location.reload();
237            } else {
238                alert('Hediye çeki kaldırılırken bir hata oluştu: ' + data.message);
239            }
240        })
241        .catch(error => {
242            console.error('Error:', error);
243            alert('Bir hata oluştu. Lütfen tekrar deneyin.');
244        });
245    }
246    </script>
vendor: 1 bytes, line 246
246
247<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"6f10e23688fc43d0b1ba1d5a9e31c709","r":1,"spa":2}' crossorigin="anonymous"></script>
247
248</body>
249</html> 

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.