alimurat Posted December 13, 2010 Share Posted December 13, 2010 s.a. arkadaşlar ben homefeatured modülünde sitemdeki her kategoriden 10 ürünü anasayfada göstermek istiyorumör: 1.kategori başlığı yazıp (resim de olabilir) altında kategoriden 10 ürün listeleyecek. 2.kategori başlığı yazıp (resim de olabilir) altında kategoriden 10 ürün listeleyecek. ........ GİBİyanlış anlaşılmaya sebep olmamak için durumu bir de resim ile anlatmak istedim. resim ektedir.konuyla ilgili yardımcı olacak arkadaşlara şimdiden teşekkürler Link to comment Share on other sites More sharing options...
MahmutGulerce Posted December 13, 2010 Share Posted December 13, 2010 s.a. arkadaşlar ben homefeatured modülünde sitemdeki her kategoriden 10 ürünü anasayfada göstermek istiyorumör: 1.kategori başlığı yazıp (resim de olabilir) altında kategoriden 10 ürün listeleyecek. 2.kategori başlığı yazıp (resim de olabilir) altında kategoriden 10 ürün listeleyecek. ........ GİBİyanlış anlaşılmaya sebep olmamak için durumu bir de resim ile anlatmak istedim. resim ektedir.konuyla ilgili yardımcı olacak arkadaşlara şimdiden teşekkürler Merhaba;Homefeatured modülülün ayarlar sayfasından 10 ürün göstermesini seçebilirsiniz. FAKAT:Bu modül standartta 4 ürünü bir satırda gösterir. 10 ürün 4 ün katı olmadığı için 4+4+2 şeklinde görünecek dolayısıyla simetriyi bozacaktır.12 veya 8 seçmenizi tavsiye ederim. Ama 10 da ısrar ediyorsanız modülün TPL dosyasının ilk satırlarında satır başına ürün sayısı bulunuyor. Ayrıca tema dosyanızda featured products ile ilgili CSS stillleri bulunuyor. Bunları matematik hesaplarla 5 ürün gösterecek şekilde düzenleyebilirsiniz.İpucu: orta bölüm standart temada 556px dir. Homefeatured modülü 5px margin değerine sahiptir. 556-2x5 / 5 = 109.2px + her bir ürün bloğuna 4 px padding verirseniz her ürün için 100px genişlik kullanmanız gerekecek.İkinci istediğinizi anlatmam çok uzun sürer ama modülün içinden yapabilirsiniz.Kolay gelsin. Link to comment Share on other sites More sharing options...
alimurat Posted December 13, 2010 Author Share Posted December 13, 2010 öncelikle cevap için sağolun ama benim aradığım cevap bu değil. aynı satır da 3 yada 4 ürün olması problem değil. her kategoriye ait 8 de olur 20 de olur ürün sayısı. oraya takılmadan sormak istediğim şey farklı.önemli olan her kategoriye ait ürünleri anasayfada göstermek. resime biraz daha dikkatli bakarsanız anlatmak istediğimi daha iyi anlarsınız.anasayfada bebek ürünleri yazıp altına 8 ürün listeleyecem ve bitecek. sonra alta oyuncaklar yazıp bi de oyuncak kategorisinden 8 ürün listeleyeceğim Link to comment Share on other sites More sharing options...
MahmutGulerce Posted December 13, 2010 Share Posted December 13, 2010 Merhaba;Bu istediğinizi yapabilmek için php ve smarty bilmek gerekiyor. Bunun yapılmış ama sekmeli hali var.Amerikayı yeniden keşvedecekler okumaya devam etsin anlatıyorum.Her modülün dosyasında Hook (yerleşim denebilir) fonksiyonları vardır.Bizim modülün hook fonkisyonu Dosya homefeatured.phpSatır 64 - 81 function hookHome($params) { global $smarty; $category = new Category(1); $nb = intval(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $smarty->assign(array( 'allow_buy_when_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK', false), 'max_quantity_to_allow_display' => Configuration::get('PS_LAST_QTIES'), 'category' => $category, 'products' => $products, 'currency' => new Currency(intval($params['cart']->id_currency)), 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), 'productNumber' => sizeof($products), 'homeSize' => Image::getSize('home') )); return $this->display(__FILE__, 'homefeatured.tpl'); } Bunu şu şekilde değiştiriyorum function hookHome($params) { global $smarty; $category1 = new Category(3); // Buraya kategorinizin id sini yazin $category2 = new Category(4); // Buraya diger kategorinizin id sini yazin $nb = intval(Configuration::get('HOME_FEATURED_NBR')); $products1 = $category1->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $products2 = $category2->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $smarty->assign(array( 'allow_buy_when_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK', false), 'max_quantity_to_allow_display' => Configuration::get('PS_LAST_QTIES'), 'category1' => $category1->name[intval($params['cookie']->id_lang)], 'category2' => $category2->name[intval($params['cookie']->id_lang)], 'products1' => $products1, 'products2' => $products2, 'currency' => new Currency(intval($params['cart']->id_currency)), 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), 'productNumber1' => sizeof($products1), 'productNumber2' => sizeof($products2), 'homeSize' => Image::getSize('home') )); return $this->display(__FILE__, 'homefeatured.tpl'); } TPL dosyasını da anlatırdım ama sayfayı açan bayılmasın diye sadece ekliyorum.Bende çalışmadı diyenleri ve teşekkür etmeden forumu sömürenleri kendime daha yakın hissettiğimden kesinlikle gönül koymuyorum Ama ben denedim mis gibi çalıştı lütfen gerçekçi olalım Talep olursa modüle çevirebilirim, admin panelden kategori seçimi yapılabilir. 3-4 kategori için de düzenlenebilir. homefeatured.zip 2 Link to comment Share on other sites More sharing options...
alimurat Posted December 13, 2010 Author Share Posted December 13, 2010 Allah senden razı olsun. Allah ne muradın varsa versin. Link to comment Share on other sites More sharing options...
MahmutGulerce Posted December 13, 2010 Share Posted December 13, 2010 Hepimizden Alimurat Kardeşim/AbimHayırlı satışlar dilerim Link to comment Share on other sites More sharing options...
alimurat Posted December 15, 2010 Author Share Posted December 15, 2010 öncelikle bu kodlar süper çalıştı fakat şöyle bi hata oluştu.yine öncelikle birkaç dipnot vereyim ve daha sonra oluşan hatayı söyleyeyim.- ben bu kodları 3 kategori için uyarladım. homefeatured ürün gösterim sayısını 24 ürüne göre ayarladım.(4 ve katları olarak. bu ürün sayısı 48 de olabilir daha üstü de...)1. kategoride 24 ürünü listeledim (sorun yok)2. kategoride 24 ürünü listeledim (sorun yok)3. kategoride de 24 ürünü listeleyeceğim ama o kategoriye ait 24 ürün yok. 9 tane ürün var. böyle olunca 3 kategoriden footer'a katar yaklaşık 15-20 cm kadar uzuun ve manasız bi boşluk oluşuyor.burada homefeatured'e ayarlanan sayı ne olursa olsun ürün bittiğinde işlemi bitirecek bir düzenleme nasıl yapabiliriz? Link to comment Share on other sites More sharing options...
MahmutGulerce Posted December 16, 2010 Share Posted December 16, 2010 Merhaba;İlgili katgoride ürün varsa göstersin yoksa göstermesin isterseniz örneğin 2. kategori {if $producs2} // İkinci kategori için tpl kodları burada olacak {$category2.name} {foreach from=$products2 .... .... {/if} Eğer 4 ün katı değilse göstermesin isterseniz {if $products2|@count mod 4} .... {/if} Fakat 5 ürün varsa hiçbirşey göstermez.Bu matematik işlemi basit değil. Smartyde de yapılır ama performans paranoyağı birisi olarak bu işlemleri php de yapmanızı öneririm. Smarty de aynı şeyi söylüyor zaten. Beni matematiğe bulaştırmayın diyor.Öncelikle mysql deki ürün sayısını "COUNT FROM" ile alabileceğiniz gibi daha pratik olarak prestashopun category sınıfının countNbProductAndSub diye bir fonksiyonu var.Örnek php dosyasında $col = 4 // Sütun sayısı $category2 = new Category(2); $nop = $category2->countNbProductAndSub($category2->id, intval($params['cookie']->id_lang) ); // kategorideki ürün sayısı (Number Of Product) $norow = ceil($nop/$col); // Oluşacak satır sayısını bulma (Number Of Rows) * Örn: Eğer 5 ürün varsa sonuç ceil ile iki çıkacaktır. if (!$nop % $col) $norow--; // Son satırda 4 üründen az varsa satır azaltma $limit = $norow*$col; // toplam gösterilecek ürün düzeltmesi // ve son olarak 4 ün katı kadar ürün içeren sorgu $products2 = $category2->getProducts(intval($params['cookie']->id_lang), 1, $limit); Kolay gelsinNot: Deneyemedim syntax hataları olabilir. Link to comment Share on other sites More sharing options...
alimurat Posted December 16, 2010 Author Share Posted December 16, 2010 öncelikle tekrar teşekkürler cevap için.ama ben bu açıklamaları kendi kodlarıma uyarlayamadım. function hookHome($params) { global $smarty; $category1 = new Category(21); $category2 = new Category(11); $category3 = new Category(5); $nb = intval(Configuration::get('HOME_FEATURED_NBR')); $products1 = $category1->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), 'date_add', 'DESC'); $products2 = $category2->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), 'date_add', 'DESC'); $products3 = $category3->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), 'date_add', 'DESC'); $smarty->assign(array('allow_buy_when_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK', false), 'max_quantity_to_allow_display' => Configuration::get('PS_LAST_QTIES'), 'category1' => $category1->name[intval($params['cookie']->id_lang)], 'category2' => $category2->name[intval($params['cookie']->id_lang)], 'category3' => $category3->name[intval($params['cookie']->id_lang)], 'products1' => $products1, 'products2' => $products2, 'products3' => $products3, 'currency' => new Currency(intval($params['cart']->id_currency)), 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), 'productNumber1' => sizeof($products1), 'productNumber2' => sizeof($products2), 'productNumber3' => sizeof($products3), 'homeSize' => Image::getSize('home'))); return $this->display(__FILE__, 'homefeatured.tpl'); } } Link to comment Share on other sites More sharing options...
MahmutGulerce Posted December 16, 2010 Share Posted December 16, 2010 öncelikle tekrar teşekkürler cevap için.ama ben bu açıklamaları kendi kodlarıma uyarlayamadım. function hookHome($params) { global $smarty; $category1 = new Category(21); $category2 = new Category(11); // Kategori 2 için örnek uygulama $col = 4 // Sütun sayısı $nop = $category2->countNbProductAndSub($category2->id, intval($params['cookie']->id_lang) ); // kategorideki ürün sayısı (Number Of Product) $norow = ceil($nop/$col); // Oluşacak satır sayısını bulma (Number Of Rows) * Örn: Eğer 5 ürün varsa sonuç ceil ile iki çıkacaktır. if (!$nop % $col) $norow--; // Son satırda 4 üründen az varsa satır azaltma $limit = $norow*$col; // toplam gösterilecek ürün düzeltmesi $category3 = new Category(5); $nb = intval(Configuration::get('HOME_FEATURED_NBR')); $products1 = $category1->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), 'date_add', 'DESC'); // ve son olarak 4 ün katı kadar ürün içeren sorgu $products2 = $category2->getProducts(intval($params['cookie']->id_lang), 1, $limit, 'date_add', 'DESC'); $products3 = $category3->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), 'date_add', 'DESC'); $smarty->assign(array('allow_buy_when_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK', false), 'max_quantity_to_allow_display' => Configuration::get('PS_LAST_QTIES'), 'category1' => $category1->name[intval($params['cookie']->id_lang)], 'category2' => $category2->name[intval($params['cookie']->id_lang)], 'category3' => $category3->name[intval($params['cookie']->id_lang)], 'products1' => $products1, 'products2' => $products2, 'products3' => $products3, 'currency' => new Currency(intval($params['cart']->id_currency)), 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), 'productNumber1' => sizeof($products1), 'productNumber2' => sizeof($products2), 'productNumber3' => sizeof($products3), 'homeSize' => Image::getSize('home'))); return $this->display(__FILE__, 'homefeatured.tpl'); } } Örnek olarak category2 için yaptım hocam bu gün çok yoğunum fırsat bulunca temize çekerim. Link to comment Share on other sites More sharing options...
alimurat Posted December 16, 2010 Author Share Posted December 16, 2010 sanırım temize çekmeni beklemem gerek Link to comment Share on other sites More sharing options...
MahmutGulerce Posted December 16, 2010 Share Posted December 16, 2010 Evet temize çekeyim en iyisi. Satır düzenlemesinin ayrı bir fonksiyon olarak çalışması daha mantıklı olacak. Zaten kod yazım standartları konusunda aşırı hassas birisiyim yukarıdaki kalabalığı görünce moralim bozuluyor.Başımda bir php kütüphane işi var bu gün 2500+ satır kod yazdım ve bitmedi halen bitirince bunu halledecem. Link to comment Share on other sites More sharing options...
alimurat Posted December 17, 2010 Author Share Posted December 17, 2010 tekrar s.a. Mahmut bi derleme ile homefeatured sorununda çözüme çok yaklaşmıştık ama dün bu konuda son noktayı koyamadık.inşallah safa ile gerçekleşen (çoğunluğu yanlış anlaşılma ve aşırı tepkiler sonucu çıkan) gereksiz bir atışma bu konuda olumsuz bir etki bırakmamıştır.selamlar Link to comment Share on other sites More sharing options...
alimurat Posted December 17, 2010 Author Share Posted December 17, 2010 sorun çözülmüştür. ilgilenen ilgilenmeye çalışan arkadaşlara sonsuz teşekkürler.http://www.prestashop.com/forums/viewthread/83403/yazlm_modl_ve_tema/delikanl_nedir_ başlıklı foruma katılımlarınızı bekliyorum Link to comment Share on other sites More sharing options...
ugur onur Posted December 20, 2010 Share Posted December 20, 2010 alimurat bey, konu başlığinı homefeatured modülünde her kategoriden 10 ürün göstermek (ÇÖZÜLDÜ) şeklinde değiştirmeniz mümkün mü acaba..?iyi akşamlar Link to comment Share on other sites More sharing options...
tatar Posted July 12, 2011 Share Posted July 12, 2011 Konu uçmuş modul olarak yayınlamanız mumkunmu kayboldum kodların arasında Link to comment Share on other sites More sharing options...
MahmutGulerce Posted July 12, 2011 Share Posted July 12, 2011 Konu uçmuş modul olarak yayınlamanız mumkunmu kayboldum kodların arasında Hocam bana iki üç gün sonra hatırlatırsan modül yapıp buradan yayınlarım. Link to comment Share on other sites More sharing options...
tatar Posted July 13, 2011 Share Posted July 13, 2011 peki tamm Link to comment Share on other sites More sharing options...
melanolic61 Posted August 18, 2011 Share Posted August 18, 2011 Merhaba öncelikle anlatımın çok güzel ve anlaşılırdı ilk verdiğin kodları aldım sadece tpl de değişiklik yaparak siteye uyarladım çok güzel oldu ancak bi sorunum var. Örneğin bir kategoriden 10 ürün çekiyor ama eklenen ilk 10 ürünü cekiyor. Benim istediğim o kategoriye bir ürün ekleyince ana sayfada yerini alsın. Kısaca kategoriye ait son ürünleri göstersin. Bunu nasıl yapabilirin. Link to comment Share on other sites More sharing options...
scripard Posted September 7, 2011 Share Posted September 7, 2011 olmadı sanırım Link to comment Share on other sites More sharing options...
melanolic61 Posted October 21, 2011 Share Posted October 21, 2011 Merhaba öncelikle anlatımın çok güzel ve anlaşılırdı ilk verdiğin kodları aldım sadece tpl de değişiklik yaparak siteye uyarladım çok güzel oldu ancak bi sorunum var. Örneğin bir kategoriden 10 ürün çekiyor ama eklenen ilk 10 ürünü cekiyor. Benim istediğim o kategoriye bir ürün ekleyince ana sayfada yerini alsın. Kısaca kategoriye ait son ürünleri göstersin. Bunu nasıl yapabilirin. güncel Link to comment Share on other sites More sharing options...
driwer Posted December 14, 2011 Share Posted December 14, 2011 aynı sorun bendede var lütfen yardım edin sadece ilk eklediğim konular ana sayfada çıkıyor diğer eklediğim konular çıkmıyor teşekkürler Link to comment Share on other sites More sharing options...
askinjew Posted June 29, 2012 Share Posted June 29, 2012 Mahmut bey konu çözüldü olarak kapatılmış ama bu konu ile igili bir modül yapıp yayınlayacağınızı söylemişsiniz (gerçi çok uzun zaman olmuş ama ben daha yeniyim hoşgörünüze sığınıyorum) yayınladınızmı acaba bulamadaımda. Acemiliğimden yanlış da arıyor olabilirim yardımcı olabilirmisiniz. teşekkürler Link to comment Share on other sites More sharing options...
serhan Posted January 22, 2013 Share Posted January 22, 2013 1.5.3.1 versiyonu için nasıl yapmamız gerekli peki Link to comment Share on other sites More sharing options...
Şahin YILDIZ Posted January 26, 2013 Share Posted January 26, 2013 Mahmut bey yine bombayı patlatmışsınız... kotlamayı kullandım ..sorunsuz çalışıyor.. Link to comment Share on other sites More sharing options...
Recommended Posts