Opencart Türkiye Destek Sitesi ,E-Ticaret Yazılımı Destek Paylaşım Forumu

Tam Görünüm: Ajax Aramada Fiya Gösterim Sıkıntısı
Şu Anda Arşiv Görüntüleme Modundasınız. Siteyi normal görüntülemek için, Buraya Tıklayın
Sayfalar: 1 2
Herkese iyi günler ajax aramada fiyatı gösterdim fakat birimi ve basamak göstermede sıkıntı yaşıyorum normal fiyat düzenleme kısmını da ekleyince hata veriyor nasıl çözebilirim

Kod Aşağıdaki gibidir.


PHP Kod:
<modification>
    <
id>Very simple AJAX live search</id>
    <
version>1.0.0</version>
    <
vqmver>1.2.3</vqmver>
    <
author>n[oO]ne</author>

    <
file name="catalog/view/theme/default/template/common/footer.tpl">
        <
operation>
            <
search position="before">
                <![
CDATA[</body>]]>
            </
search>
            <
add>
                <![
CDATA[<script type="text/javascript" src="catalog/view/javascript/livesearch.js"></script>]]>
            </add>
        </operation>
    </file>
    
    <file name="catalog/view/theme/default/template/common/header.tpl">
        <operation>
            <search position="before">
                <![CDATA[<?php echo $google_analytics?>]]>
            </search>
            <add>
                <![CDATA[<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/livesearch.css" />]]>
            </add>
        </operation>
    </file>

    <file name="catalog/controller/product/search.php">
        <operation>
            <search position="bottom" offset="2">
                <![CDATA[]]>
            </search>
            <add>
                <![CDATA[
                public function ajax()
                {
                    // Contains results
                    $data = array();
                    if( isset($this->request->get['keyword']) ) {
                        // Parse all keywords to lowercase
                        $keywords = strtolower( $this->request->get['keyword'] );
                        // Perform search only if we have some keywords
                        if( strlen($keywords) >= 3 ) {
                            $parts = explode( ' ', $keywords );
                            $add = '';
                            // Generating search
                            foreach( $parts as $part ) {
                                $add .= ' AND (LOWER(pd.name) LIKE "%' . $this->db->escape($part) . '%"';
                                $add .= ' OR LOWER(p.price) LIKE "%' . $this->db->escape($part) . '%")';
                            }
                            $add = substr( $add, 4 );
                            $sql  = 'SELECT pd.product_id, pd.name, p.price FROM ' . DB_PREFIX . 'product_description AS pd ';
                            $sql .= 'LEFT JOIN ' . DB_PREFIX . 'product AS p ON p.product_id = pd.product_id ';
                            $sql .= 'LEFT JOIN ' . DB_PREFIX . 'product_to_store AS p2s ON p2s.product_id = pd.product_id ';
                            $sql .= 'WHERE ' . $add . ' AND p.status = 1 ';
                            $sql .= 'AND pd.language_id = ' . (int)$this->config->get('config_language_id');
                            $sql .= ' AND p2s.store_id =  ' . (int)$this->config->get('config_store_id'); 
                            $sql .= ' ORDER BY p.sort_order ASC, LOWER(pd.name) ASC, LOWER(p.price) ASC';
                            $sql .= ' LIMIT 15';
                            $res = $this->db->query( $sql );
                            if( $res ) {
                                $data = ( isset($res->rows) ) ? $res->rows : $res->row;
                                $this->data['pd.price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

                                // For the seo url stuff
                                $basehref = 'product/product&keyword=' . $this->request->get['keyword'] . '&product_id=';
                                foreach( $data as $key => $values ) {
                                    $data[$key] = array(
                                        'name' => htmlspecialchars_decode($values['name'] . ' (' . $values['price'] . ')', ENT_QUOTES),
                                        'href' => $this->url->link($basehref . $values['product_id'])
                                    );
                                }
                            }
                        }
                    }
                    echo json_encode( $data );
                }
                ]]>
            </add>
        </operation>
    </file>
</modification> 
Hocam selamlar, yine ben Tongue

Kod:
'name' => htmlspecialchars_decode($values['name'] . ' (' . $values['price'] . ')', ENT_QUOTES),
Kısmını;

Kod:
'name' => htmlspecialchars_decode($values['name'] . ' ('.number_format($values['price'], 2, ',', '.').' TL)', ENT_QUOTES),

olarak değiştirirsen istediğin sonucu elde edebilirsin Wink
(09-10-2012 03:12 PM)ITECHINN Yazılan: [ -> ]Hocam selamlar, yine ben Tongue

Kod:
'name' => htmlspecialchars_decode($values['name'] . ' (' . $values['price'] . ')', ENT_QUOTES),
Kısmını;

Kod:
'name' => htmlspecialchars_decode($values['name'] . ' ('.number_format($values['price'], 2, ',', '.').' TL)', ENT_QUOTES),

olarak değiştirirsen istediğin sonucu elde edebilirsin Wink

peki @ITECHINN Hocam bu para birimini otomatik nasıl çekerim
Üstad, search.php sayfasında

Kod:
foreach( $data as $key => $values ) {

hemen altına

PHP Kod:
$fiyat $this->currency->format($this->tax->calculate($values['price'], $values['tax_class_id'], $this->config->get('config_tax'))); 

eklemeniz ve biraz önceki değiştirdiğimiz satırı;


PHP Kod:
'name' => htmlspecialchars_decode($values['name'] . $fiyatENT_QUOTES), 

olarak düzenlemeniz yeterli olacaktır.

Böylece, içime doğmuş olan ve birazdan geleceğini tahmin ettiğim "kdv hariç gösteriyor. bunu nasıl dahil yaparız? " sorusuna da peşin cevap olmuş olur Big Grin

işin esprisi bir yana, KDV dahil hesaplamakta Wink
aytekin hocam ellerine sağlık Allah Razı Olsun senden
(09-10-2012 03:48 PM)Kiroglumarket Yazılan: [ -> ]aytekin hocam ellerine sağlık Allah Razı Olsun senden

Amin, cümlemizden inşallah. Ben de bu arada, bu ajaxta hata aldığım bir yer vardı, sayende dosyayı açıp onu düzenleme şansı buldum. (KDV dahil fiyatı getirememiştim Smile)
@Aytekin hocam konuyu hortlatıyorum ama foreach( $data as $key => $values ) { kısm ını bulamadım şimdi test etme imkanı buldum hangi srümde denediniz acaba ?
1.5.2 ve 1.5.3'de denedim üstadım. Zaten foreach(data as values kısmı, ajax arama işlemi ile gelmekte. Eğer eklenti için vQMOD kullanıyorsan, bu komut vqmod dosyanda da olabilir.
(09-12-2012 12:14 PM)ITECHINN Yazılan: [ -> ]1.5.2 ve 1.5.3'de denedim üstadım. Zaten foreach(data as values kısmı, ajax arama işlemi ile gelmekte. Eğer eklenti için vQMOD kullanıyorsan, bu komut vqmod dosyanda da olabilir.

bende bir çok sürüm kurulu hepsinde yaptığım bazı deişimler için test ediyorum 1.5.1.3 için geçerli deil galiba belirtilen konumu vqmod da buldum ama ajax arama açılmadı
(09-12-2012 12:20 PM)Kiroglumarket Yazılan: [ -> ]
(09-12-2012 12:14 PM)ITECHINN Yazılan: [ -> ]1.5.2 ve 1.5.3'de denedim üstadım. Zaten foreach(data as values kısmı, ajax arama işlemi ile gelmekte. Eğer eklenti için vQMOD kullanıyorsan, bu komut vqmod dosyanda da olabilir.

bende bir çok sürüm kurulu hepsinde yaptığım bazı deişimler için test ediyorum 1.5.1.3 için geçerli deil galiba belirtilen konumu vqmod da buldum ama ajax arama açılmadı

Şimdi uyandım zaten Smile) VqMOD kullandığın belli, dosyayı paylaşmışsın hay kırık kafam benim Smile)

İlk mesajdaki mod dosyasında;

PHP Kod:
foreach( $data as $key => $values ) {
                                    
$data[$key] = array(
                                        
'name' => htmlspecialchars_decode($values['name'] . ' (' $values['price'] . ')'ENT_QUOTES),
                                        
'href' => $this->url->link($basehref $values['product_id'])
                                    );
                                } 

kısmını,
PHP Kod:
foreach( $data as $key => $values ) {
$fiyat $this->currency->format($this->tax->calculate($values['price'], $values['tax_class_id'], $this->config->get('config_tax'))); 

                                    
$data[$key] = array(
                                    
'name' => htmlspecialchars_decode($values['name'] . $fiyatENT_QUOTES), 

                                        
'href' => $this->url->link($basehref $values['product_id'])
                                    );
                                } 
olarak değiştirirsen sorun yaşamadan kullanabilirsin diye düşünüyorum üstadım.
Sayfalar: 1 2
Referans Adresler