Kendi otomatik teslimat hizmeti işleyicilerinizi oluşturma. Bitrix: otomatik teslimat hizmeti için bir işleyici oluşturma Bitrix teslimat hesaplaması
![Kendi otomatik teslimat hizmeti işleyicilerinizi oluşturma. Bitrix: otomatik teslimat hizmeti için bir işleyici oluşturma Bitrix teslimat hesaplaması](https://i0.wp.com/khtulhu.org.ua/images/stories/comp/05.11.2015/bd2e16bae0.png)
Arkadaşlarla 2 yıldır çalışıyoruz. Harika bir ekip, harika programcı seçimi.
Yöneticilerle günün hemen her saatinde iletişim vardır. Kritik sorunlar gece saat 2'de bile çözülebilir (bir İnternet projesi olarak bizim için bu çok önemlidir).
Atlant'la işbirliğine başladığımız dönem artık hafif bir gülümsemeyle anılıyor. Ve sonra her şey çok kötüydü.
Siteyi kökten değiştirmeye karar verdik - eskisini yıkıp 1C-Bitrix'e geçmeye karar verdik.
Web sitesinin geliştirilmesi bir serbest çalışana emanet edildi. Her şeyi o yaptı, web sitesini tasarladı. Ancak lansmandan hemen önce bazı zorluklar yaşadı, 2 hafta iletişimsiz kaldık. Onun hakkında kötü bir şey söyleyemem ama bu bir gerçek. Elimizde sitenin tamamlanmamış bir kopyası kaldı (30'dan fazla kritik iyileştirme).
Böyle bir durumla nasıl başa çıkacağımıza dair hiçbir fikrimiz yoktu. Bu durumda bize yardımcı olabilecek Bitrix'in Golden ortakları arasında aramaya başladık.
Yüze yakın talep yazdık.
Atlant'ın cevabı herkes arasında göze çarpıyordu! İşin maliyeti en düşüklerden biri olduğu ortaya çıktı. Adamların siteyle ne yapacaklarına dair adım adım talimatlarla güven verildi.
Sonuç olarak bir web sitesi açtık, onlarla çalışıyoruz ve bundan asla pişman olmadık!
İşbirliğinin başlamasından sonraki ilk 6 ayda satışlarımız 2 kat arttı. En karmaşık olanları bile her türlü görevi belirliyoruz. Her şey yapılıyor.
Her şeyin tek bir yerde olması uygundur: web sitesi çalışması, 1C, barındırma, SEO, tasarım vb.
Öneririz!
Andrey Rudy (Yönetmen - LEDPremium)
Atlant ile iki yıldır çalışıyoruz.
Yumurtalarımızı her zaman farklı sepetlere koyardık ve aynı anda birden fazla taşeron firmayla çalışırdık.
Bir yıl boyunca web sitesi düzeninin ve 1C kurulum görevlerinin %20 ila %70'ini Atlant'a aktardık.
Her geçen yıl şirketin gelişimi ve ilerlemesi bizi şaşırtıyor ve başarılı seçimimizden dolayı mutluluk duyuyoruz.
Programcıların seviyesi yükseldi; fiyatlar piyasa sınırları dahilinde, yönetimin tepkisi anında.
Her zamanki gibi, her şey yolundayken neyi vurgulayacağınızı bile bilmiyorsunuz ve yorum yazmak için bir nedeniniz yok.
Adamlar tamamen kaynağımızı www.datakam.ru yarattılar
Standart görsel açıdan berbat B24'ten çevrilmemiş taş bırakmadılar.
Pazarlamacılarımız aylık raporlarda bir yönetici olarak bana web sitesinde ve belge işleme otomasyonunda yapılan değişikliklerin olumlu etkisini gösteriyor. Bir nokta var. Para olarak. Ruble cinsinden.
Bu yaratıcı ekibi, çalışmalarımızda güvenilir bir ortak olarak dürüst ve açık bir şekilde tavsiye ediyoruz.
İşin komik yanı, hiçbir yönetimi veya çalışanı şahsen görmemiş olmamız ve aynı zamanda görevin tamamlanma kalitesinden ve hızından da memnunuz.
Öneririz.
Cevap veriyoruz.
Vladislav Mekhantsev (teknik direktör - datakam.ru)
Atlant ile 2 yılı aşkın süredir çalışıyoruz, her şeyden memnunuz: işin hızından ve kalitesinden. Yeterli programcının olmadığı veya tasarım konularında her zaman aynı fikirde olmadığımız ancak tüm sorunların az çok hızlı bir şekilde çözüldüğü ortaya çıkıyor.
Sonuçtan oldukça memnunuz. Teşekkür ederim.
Dmitry (Genel Müdür Yardımcısı - Souz.com)
Kurdu ne kadar beslerseniz besleyin domuzun tadı daha güzel olur
Bitrix: otomatikleştirilmiş bir teslimat hizmeti işleyicisi oluşturma
Bitrix'in iki tür teslimat hizmeti vardır: özel ve otomatik. Bu makalede, otomatik dağıtım hizmeti işleyicisinin nasıl oluşturulacağı açıklanacaktır.
Bu otomatik işleyici nedir?
Önceden yüklenmiş tüm işleyiciler /bitrix/modules/sale/lang/ru/delivery/ klasöründe bulunur. İşleyicileriniz /bitrix/php_interface/include/sale_delivery/ klasöründe bulunmalıdır (bu yol, çevrimiçi mağaza modülünün özelliklerinde değiştirilebilir).
İşleyici, olay dağıtım işleyicisi için bir bağlantı dizesine sahip belirli bir yapının sınıfıdır İndirimliTeslimatİşleyicileriYapı Listesi.
Teslimat işleyicisi sınıfının, eylem türleri sınıfın Init yönteminde açıklanan bir dizi yöntemi olması gerekir.
1. Init - ana alanlar başlatılır.
2. DBGETSETTINGS - parametre değerlerini okuma yöntemi.
3. DBSETSETTINGS - parametre değerlerini ayarlama yöntemi.
4. GETCONFIG - ayar yapılandırmasını tanımlar (sekmelere ayrılabilirler).
5. UYUMLULUK - işlemci profillerinin siparişle uyumluluğunun kontrol edilmesi.
6. HESAP MAKİNESİ - teslimat maliyetlerinin hesaplanması.
1. SID - İşleyicinin benzersiz dize tanımlayıcısı.
2. NAME — İşleyicinin adı.
3. AÇIKLAMA - İşleyicinin metin açıklaması
4. DESCRIPTION_INNER — İşleyicinin dahili açıklaması, Kontrol Panelinde işleyiciyi yapılandırırken görüntülenir.
5. BASE_CURRENCY — İşleyicinin temel para biriminin tanımlayıcısı
6. HANDLER — İşleyici dosyasının yolu. İşleyicinin doğru otomatik kopyalanması için gereklidir (henüz uygulanmamıştır). Çoğu durumda __FILE__ değeri yeterlidir
En az bir tanesi de belirtilmelidir teslimat profili.
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule("sale"); CModule::IncludeModule("iblock"); Class CDeliveryPlain { /** * Описние обработчика */ function Init() { //настройки return array("SID" => "Plain", // Teslimat hizmetinin tanımlayıcısı "NAME" => "Courier Krasnaya Presnya", "DESCRIPTION" => "Site istemcileri için açıklama", "DESCRIPTION_INNER" => "Site yöneticileri için açıklama", "BASE_CURRENCY" = > "RUR", "HANDLER" => __FILE__, /* Yöntemleri tanımlama */ "DBGETSETTINGS" => array("CDeliveryPlain", "GetSettings"), "DBSETSETTINGS" => array("CDeliveryPlain", "SetSettings"), " GETCONFIG" => array("CDeliveryPlain", "GetConfig"), "UYUMLULUK" => array("CDeliveryPlain", "Uyumluluk"), "Hesap Makinesi" => array("CDeliveryPlain", "Hesapla"), /* Profilleri listele */ "PROFILES" => array("all" => array("TITLE" => "Kısıtlama yok", "DESCRIPTION" => "Herhangi bir kısıtlama olmadan teslimat profili", "RESTRICTIONS_WEIGHT" => array(0 ) , "RESTRICTIONS_SUM" => dizi(0),),)); ) /* Parametrelerin ayarlanması */ function SetSettings($arSettings) ( foreach ($arSettings as $key => $value) ( if (strlen($value) > 0) $arSettings[$key] = doubleval($value ); else unset($arSettings[$key]); ) return seriize($arSettings); ) /* Parametreleri iste */ function GetSettings($strSettings) ( return unserialize($strSettings); ) /* Teslim hizmeti yapılandırmasını iste * / function GetConfig() ( $arConfig = array("CONFIG_GROUPS" => array("tümü" => "Parametreler",), "CONFIG" => array("DELIVERY_PRICE" => array(// "TYPE" => "STRING ", // "DEFAULT" => "200", // "TITLE" => "Teslimat maliyeti", // "GROUP" => "tümü",))); return $arConfig; ) /* Uyumluluk kontrolü sipariş teslimat profili */ function Compability($arOrder, $arConfig) ( return array("all"); ) /* Teslimat maliyeti hesaplaması*/ function Calculate($profile, $arConfig, $arOrder, $STEP, $TEMP = false ) ( // sepetin maliyetini al // Geçerli kullanıcı için geçerli sepeti göster $arBasketItems = array(); $dbBasketItems = CSaleBasket::GetList(array("NAME" => "ASC", "ID" => "ASC"), array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "SİPARİŞ_ID" => "BOŞ"), false, false, array("ID", "CALLBACK_FUNC", "MODULE", "ÜRÜN_ID", "MİKTAR", "DELAY", "CAN_BUY", "PRICE", "QUANTITY" " ")); while ($arItems = $dbBasketItems->Fetch()) ( if (strlen($arItems["CALLBACK_FUNC"]) > 0) ( CSaleBasket::UpdatePrice($arItems["ID"], $arItems["CALLBACK_FUNC"] , $arItems["MODULE"], $arItems["ÜRÜN_ID"], $arItems["QUANTITY"]); $arItems = CSaleBasket::GetByID($arItems["ID"]); ) $arBasketItems = $arItems; ) // Geçerli sepet foreach'ini içeren bir dizi yazdırır ($arBasketItems as $num => $item) ( $TotalSumArr = $item["PRICE"]*$item["QUANTITY"]; ) // alınan tüm ürünlerin toplamı miktarı hesaba katarak $TotalSum = array_sum($TotalSumArr); // miktara bağlı olarak teslimat için bir işaretleme yapın // 1500'den 5000'e teslimat 750 ruble if($TotalSum >= 1500 && $TotalSum<= 5000) $DeliveryCost = 750; elseif($TotalSum >= 5000) $TeslimatMaliyeti = 0; return array("RESULT" => "OK", "VALUE" => $_SESSION["ORDER_DELIVERY_PRICE"], "VALUE" => $DeliveryCost); ) ) AddEventHandler("indirim", "onSaleDeliveryHandlersBuildList", array("CDeliveryPlain", "Init")); ?>
İşleyici, sepetin içeriğini hesaplayan ve fiyata bağlı olarak farklı nakliye maliyetleri sunan bir kod içerir.
Çıkış problemini çözme Bitrix v14 çevrimiçi mağazasının Yandex.Market'te sipariş verirken otomatik teslimat hizmetleri.
Bahsettiğimiz şey bu ama anlaşılan o ki yapılmamış, sadece özel servisler çalışıyor, bugün düzelteceğiz.
Burada Yandex.Market panelinde sipariş vermeyi test ediyorum; alıcıya Yandex.Market'te sipariş verdiğinde aynı şey gösterilecek.
Otomatik hizmetleri seçme
Öncelikle modül ayarlarına otomatik dağıtım hizmetlerini eklememiz gerekiyor Online mağaza Bölümde Pazarda alışveriş
Çünkü varsayılan olarak orada değiller ve artık çevrimiçi mağaza modülünü güncelleyemeyeceğiz; doğrudan modülde düzenleme yapıyorum çünkü... benim durumumda, mağazayı güncellerseniz, müşteri için her şey çalışmayı bırakacaktır, sizin durumunuzda ne yapacağımı bilmiyorum, bir düşünün, yeni Bitrix v16 mağazasında belki bu da işe yaramayacaktır.
Ayarlar dosyadaki yönetim sayfasında belirtilmiştir
/bitrix/modules/sale/admin/ymarket.php
Özel hizmetler var Toplamak, ve aşağıda otomatik teslimat hizmetlerini görüntüledim, örneğin hepsinin bir değeri var Posta, benim durumumda yalnızca postaya ihtiyaç vardı, başka bir şeye ihtiyacınız varsa değiştirmek zor olmayacak çünkü prensip nerede ve ne yapılacağı açık olacak, ancak tüm otomatik hizmetler görüntülenecek, belki çalışacaklar, henüz kontrol etmedim.
Böylece, $arDeliveryList özel servisleri dizisinin dosyanın neresinde oluşturulduğunu buluyoruz ve otomatik olanları buna ekliyoruz
$arDeliveryFilter = dizi(
"LID" => $arTab["SITE_ID"],
"AKTİF" => "Y"
);//STATİK TESLİMAT
$dbDeliveryList = CSaleDelivery::GetList(
array("NAME" => "ASC"),
$arDeliveryFilter,
YANLIŞ,
YANLIŞ,
array("ID", "NAME")
);$arDeliveryList=array();
while ($arDelivery = $dbDeliveryList->Fetch())
$arDeliveryList[$arDelivery["ID"]] = $arDelivery["NAME"];//OTOMATİK TESLİMAT
$dbRes = CSaleDeliveryHandler::GetList(
array("NAME" => "ASC"),
$arDeliveryFilter
);
while($delivery = $dbRes->Fetch())
{
$deliveryId = ($delivery["ID"] ? $delivery["ID"] : $delivery["SID"]);
$arDeliveryList[ $deliveryId ] = $delivery["NAME"];
}
Daha sonra teslimat çıktı bloğunu buluyoruz ve listeye posta için bir seçenek ekliyoruz, benim durumumda yorum yapılmadıysa, büyük olasılıkla aynı şeye sahip olacaksınız.
Yönetici panelinde teslimat hizmetlerini görüntüleyen bitmiş seçim böyle görünüyor
$deliveryName):
$selected = isset($siteSetts["DELIVERIES"][$deliveryId]) ? $siteSetts["TESLİMATLAR"][$deliveryId] : "";
?>
Her şey ayarlarla yapılır, geriye kalan tek şey geldikleri senaryoyu sonlandırmaktır Yandex.Market'ten gelen talepler, alıcıya hangi teslimatların gösterileceğini piyasaya söyler Yandex.Market'te sipariş verirken.
Yandex.Market talepleri
Yandex.Market'tan Bitrix'e yapılan tüm istekler öncelikle bu dosyaya gelir, yalnızca başka bir dosyanın bağlantısını içerir/bitrix/services/ymarket/index.php
Bu dosyada, Yandex.Market'ın çevrimiçi mağazanızla etkileşimi için Bitrix API'nin kendisi bağlanmıştır.
/bitrix/modules/sale/services/ymarket/index.php
Bu dosyada değişiklik için ihtiyacımız olan dosyaya giden yöntemle ilgileniyoruz, bunda hiçbir şeyi değiştirmiyoruz
$sonuç = $YMHandler->processRequest($requestObject, $method, $postData);
İşte Bitrix ile Yandex.Market arasındaki tüm etkileşim mantığının onunla birlikte çalıştığı dosyamız.
/bitrix/modules/sale/general/ym_handler.php
Yazıyı hemen yazmadım, bir süre işlevsellik test edildi ve hatalar düzeltildi, bir şey söylemeyi unutsam bile dosyaları ekledim, anlayabilirsiniz.
Genel olarak web sitenizdeki bu dosyada daha önce herhangi bir değişiklik yapmadıysanız, dosyamın tamamını deneyebilirsiniz, teslimatlar hariç, içinde hiçbir şey değişmedi, her şey çalışıyor.
Peki değişiklikler nelerdi?CSaleYMHandler sınıfında
1) Otomatik teslimat hizmetleriyle teslimatı hesaplamak için sepetteki ürünlerle ilgili tüm bilgileri saklayacak bir değişken eklendi.
korumalı $sepetItems = dizi();
2) Piyasada sepeti dinleyen, mallar (sepet) hakkında bilgi alan ve iade teslimat hizmetleri ve ödeme yöntemlerini alan yöntem değiştirildi
korumalı işlev prosesCartRequest($arPostData)
3) Piyasada sepette bulunan mallara ilişkin bilgilerin (id, fiyat, miktar, ağırlık, boyutlar vb.) alınma yöntemi değiştirildi.
korumalı işlev getItemCartInfo($arItem, $currency)
4) Alıcının konumu, kendisine sunulan teslimat hizmetleri hakkındaki bilgileri filtreleyerek alan, teslimatı hesaplayan ve piyasada alıcıya gösteren yöntem değiştirildi.
korumalı işlev getDeliveryOptions($delivery, $price, $weight = 0, $arBasketItems = array())
İşte bu yöntemde özelleştirilmiş ve otomatikleştirilmiş Bitrix teslimat hizmetleri hesaplanır.
Buraya dikkat edin!
Benim durumumda, mağaza Moskova'da bulunuyor ve Moskova için tüm otomatik teslimat hizmetleri devre dışı bırakıldı, Moskova'dan bir alıcı için gösterilmemeli, teslim alma ve kurye teslimatı orada çalışıyor, bu durum kodda (s. 432):
if($locationTo == 2691) devam et;
5) Web sitenize emir ekleyen, markete "Her şey yolunda" diyen ve numarasını Yandex.Market'e döndüren yöntem değiştirildi
korumalı işlev prosesOrderAcceptRequest($arPostData)
Spesifik olarak, 911 numaralı satırda şunu elde ederiz: Sipariş numarası, O da Sipariş Kimliği, veya Sipariş koduşablona göre sipariş numaralandırma etkinleştirildiğinde
$arResult["order"]["id"] = $this->getOrderNumber($orderID);
6) Web sitenizdeki sipariş numarasını (Sipariş Kimliği veya Sipariş Kodu) Yandex.Market'e döndürecek bir yöntem eklendi
korumalı işlev getOrderNumber($orderId)
bunlara ek olarak
Daha fazlası siteye yüklendi konumlar 2.0, bunu geçen 2015'te yapmıştım, hatırlıyorum, Yandex.Market'te bir sorun vardı, Bitrix yanlış lokasyon arıyordu ve Yandex.Market hata bildirdi, nerede yaptığımı hatırlamıyorum, ym_location.php dosyasını eklemiştim. Her ihtimale karşı arşiv bulursanız lütfen bana bildirin, bu noktayı yazıya ekleyeceğim.
Çözüm
Alıcı, Yandex.Market'te sipariş verirken bu formda teslimatların bir listesini görür; mağazanız bunları iade eder.![](https://i2.wp.com/tuning-soft.ru/upload/monosnap/2016-04-01_15.29.01.png)
Makalede kullanılan dosyaların tümü, hangi dosyayı bulmanın kolay olacağı klasörlere bölünmüştür.
- öğretici
Önceki makalede yeni bir ödeme bileşeni yükleme sürecine baktık. Projeyi birkaç gün test etti ve yeni 1C-Bitrix platformuna geçmeye değer fırsatlardan yararlanmanın zamanı gelmişti.
Otomatik varsayılan şehir değişikliği
Bu örnek hem küçük bölgesel mağazalar hem de büyük projeler için faydalı olacaktır.Teslimat bölgesi, sipariş sürecinin ana unsurlarından ilkidir. Dönüşümü artırmak ve sipariş vermeyle ilgili sorunları azaltmak için "Kaliningrad" adının otomatik olarak değiştirilmesini kullanmamız gerektiğini varsayalım.
Şimdi ilk giriş yaptığınızda şöyle görünüyor:
Müşteriler elbette “Kaliningrad” düğmesine tıklayabilir, ardından alan doldurulacaktır, ancak çoğu kişi bu adımı atlayarak bir hataya neden olur:
Bu sorun Metrica Webvisor tarafından tespit edildi. Elbette bundan sonra müşteri her şeyi doğru bir şekilde doldurur, ancak birçok mağazada teslim almanın önemli bir kriter olmasına rağmen (siparişlerin% 80'ine kadar) ve bu durumda şehrin doğru şekilde doldurulmasına rağmen bir kalıntı kalır. isim kritik değil.
Varsayılan şehri ayarlayalım ve değişikliğin işe yarayıp yaramayacağını görelim. Mağazanın yönetim bölümüne ve ardından mülk ayarlarına gidelim:
Ve varsayılan konumu ayarlayın:
Şimdi kontrol etmek için bir sipariş verelim:
Harika, konum doldurulmuş ve müşterinin yalnızca "İleri"ye tıklaması yeterli. Artık sipariş müşteriye minimum rahatsızlık verecek şekilde verilecek ve dönüşümü en üst düzeye çıkaracağız. Büyük mağazalara gelince, belirli şehirlerden gelen siparişlerin sıklığına ilişkin istatistikler toplayabilir ve ekran görüntüsündeki gibi hızlı seçim butonları yapabilirler: "Kaliningrad", "Zelenogradsk", "Svetlogorsk".
En popüler şehri varsayılan olarak ayarlayabilirsiniz, çünkü onu değiştirmek veya telefonla netleştirmek her zaman bir müşteriyi kaybetmekten daha kolaydır.
Ek ödeme kısıtlamaları
Sipariş vermenin bir sonraki adımı ödeme bloğudur. Bir tür kısıtlama, kurye ile teslimatta nakit ödeme yapılmasının yasaklanması olabilir. Bu, kadınların taş ocaklarında çalıştığı ve büyük meblağlar taşırken sağlıklarını riske atmak istemedikleri durumlarda faydalı olabilir.Belirli teslimat hizmetlerine ve maksimum çek tutarına bağlı bir kısıtlama getireceğiz. Bunu yapmak için, belirli bir ödeme yönteminin yönetim arayüzündeki "Kısıtlamalar" sekmesine gidin:
Bu durumda iki nakit ödeme sistemi yapmanız gerekecektir:
- birinde alım noktasının kullanımını sınırlayacağız, ancak fiyat kısıtlaması olmadan,
- ikincisinde ise kendimizi kurye hizmetleriyle sınırlayacağız ve tutara bir sınır ekleyeceğiz.
Şimdi teslimat kısıtlamaları:
Sonuç olarak aşağıdakileri elde ederiz:
Değeri 10.000 ruble'den az olan mallar içeren bir siparişin yerine getirilip getirilmediğini ve kurye ile teslimatı kontrol edelim:
Her şey yolunda, gerekli ödeme orada, sipariş verilebilir.
Değeri 10.000 rubleden fazla olan malları kontrol edelim:
Harika, nakit ödeme yok, kurye ve parayı riske atmadan başka şekillerde ödeme yaparak sipariş verebilirsiniz.
Kısıtlamalar getirildiğinde, müşteriler "yasaklanmış" ödeme yöntemlerini görmezler ve bu nedenle operatörlerle kavga etmezler; aksi takdirde operatörler, şirketinizin verilen siparişi neden teslim etmeyeceğini sürekli olarak açıklamak zorunda kalacaklardır.
Ek teslimat hizmetleri
Teslimatlarda gerekli hizmetleri oluşturma fırsatını sağlamamız sıklıkla istendi. Bu, yeni platformda uygulandı. Ek hizmetlerin faydası ortalama sipariş faturasını arttırmaktır.Teslimat ayarlarına gidin:
Arayüzde, teslimat bloğunda görüntülenecek ek hizmetleri içeren ayrı bir sekme belirdi. Üç tür hizmet desteklenir:
Bu kuralların nasıl yapılandırıldığını görelim:
Tüm hizmet türlerinin ayarları birbirine çok benzer: ana unsurları kontrol eden iki blok vardır. Öncelikle hizmetin adını ve açıklamasını belirlemeniz gerekiyor. Ardından hizmeti kimlerin kullanabileceğini belirtin:
- Yönetici - hizmet, yönetim arayüzünde görüntülenecektir.
- Müşteri - hizmet, sitenin halka açık kısmında sipariş sırasında görüntülenecektir.
Dinamik “Kişisel verilerin girişi”
Teslimatlar tamamlandı, artık sipariş vermenin en önemli unsurlarından birine, yani teslimat veya sevkiyat için kullanıcıdan veri talep etme aşamasına geçebilirsiniz. Önceki bileşende istemciden aynı alan kümesi isteniyordu. Hangi alanları dolduracağını seçmek zorundaydı ki bu da biraz zahmetli bir durumdu.Yeni ödeme bileşeni farklı alan grupları talep edebilir. Çoğu zaman mağaza sahipleri teslim alma sırasında girilmesi gereken bilgi miktarını azaltır. Belki bu durumda şunu bilmek bizim için yeterli olacaktır:
- Telefon.
- E-posta. Bu öğe de kaldırılabilir, ancak bazen müşteriyi yeni ürünlerle ilgili haber bültenleriyle "şımartmak" istersiniz.
Yalnızca bu alanı göstermesi gereken “Teslimat Hizmetlerini” bağlayacağız. Daha sonra halka açık bölüme gidip sipariş vermeye çalışıyoruz. Teslim almayı seçiyoruz ve mağazanın bizden teslimat adresi sormadığını görüyoruz.
Bu kullanışlı ve hoş karşılanan bir işlevselliktir. Sonuçta, müşterilerin sorularını yanıtlamanın pek hoş olmadığını kabul etmelisiniz: "Siparişi kendim alacaksam neden adresime ihtiyacınız var?" Artık bunu yapmanıza gerek yok.
Sipariş teslim noktası
Son olarak “Sipariş Teslim Noktaları” seçim bloğunda yapılan değişikliklerden bahsetmek istiyorum. Önceki versiyonda ana şikayetler, çok sayıda alım noktasının görüntülenmesi, küçük bir harita ve alım noktasının otomatik olarak seçilmemesi (örneğin yalnızca bir tane varsa) ile ilgili sorunlardı.Bileşenin yeni sürümü, sipariş teslim alma noktasının görüntülenmesine yönelik ayarlar ekledi. Herhangi bir şehirde tek ise, hemen daraltılmış bloğu gösterir ve tüm verilerini bir resimle görüntüler veya bloğu genişletilmiş olarak gösteririz. İlk durumda, haritayı görüntülemek için bloğa girmeniz gerekecek ve ikincisinde harita hemen görüntülenecektir.
İlk seçeneği uygulayalım:
Bloğu genişletilmiş olarak görüntülerseniz, müşteri aşağıdaki resmi görecektir:
Bu, küçük eğitimimizi tamamlıyor. Ürünlerimizin yeni versiyonlarının özelliklerini sizlere tanıtmaya devam edeceğiz, blogumuzu takip edin.
Modül, ürün verilerine ve teslimat adresine göre teslimat maliyetlerini otomatik olarak hesaplama işlevine sahiptir.
Posta öğelerinin teslimat maliyetini hesaplamak için postcalc.ru hizmeti kullanılır. Ücretsiz modda bu hizmetin günlük istek sayısında bir sınırlama olduğunu lütfen unutmayın. Günde 500'den fazla isteğe ihtiyaç duymanız durumunda ücretli bir plana yükseltmeniz gerekir. Linke tıklayarak postcalc.ru hizmetinin kullanım şartları hakkında detaylı bilgi alabilirsiniz.
Maliyetleri otomatik olarak hesaplama özelliğine sahip Russian Post teslimat hizmetini web sitenize eklemek için aşağıdaki adımları izleyin:
1. Sitenizin yönetim panelinde şuraya gidin: Yönetim > Mağaza > Ayarlar > Teslimat hizmetleri.
2. Teslimat hizmetlerinin listesinin bulunduğu sayfada "Ekle" düğmesine tıklayın. Görünen açılır listede "Otomatik teslimat hizmeti" türünü seçin.
3. Açılan yeni teslimat hizmeti oluşturma sayfasında "İşleyici Ayarları" sekmesine gidin.
4. "Teslimat hizmeti" alanında, açılır listeden "Rus Postası" seçeneğini seçin ve "Uygula" düğmesini tıklayarak seçimi kaydedin.
5. Oluşturulan teslimat hizmetini kaydettikten sonra düzenleme sayfasında ek sekmeler görünecektir:
- Seçenekler
- Profiller
- Kısıtlamalar
![](https://i1.wp.com/sotbit.ru/upload/sotbit.htmleditoraddition/c59/delivery_params_tab.jpg)
Bu sekme aşağıdaki parametreleri içerir:
- Fiyata ekle - bu alanda teslimat maliyetine eklenecek ek kâr miktarını belirtebilirsiniz.
- 10'a yuvarlama - gönderim maliyetlerinin yuvarlanmasını etkinleştirmek için bu seçeneği işaretleyin.
- Posta adresini görüntüle - bu seçenek işaretlenirse alıcının postanesinin adresi oluşturulur. Gelecekte sipariş sayfasında görüntülenebilir.
- Posta telefon numaralarını görüntüle - seçenek etkinleştirilirse, ürünün teslim edileceği postanenin telefon numarası oluşturulur.
"E-posta adresini görüntüle" ve "E-posta telefon numaralarını görüntüle" seçenekleri işaretlendiğinde, $arResult["RESULT"]["TEXT"] değişkeni oluşturulacaktır. "echo $arResult["RESULT"]["TEXT"];" kodunu girerek bu bilgiyi genel kısımda görüntüleyebilirsiniz. Gönderim maliyeti bilgilerini görüntülemek için kullandığınız bileşen şablonunda.
Profiller Sekmesi
![](https://i2.wp.com/sotbit.ru/upload/sotbit.htmleditoraddition/faa/delivery_profiles_tab.jpg)
Bu sekme önceden yüklenmiş modül profillerini içerir "Rus Postası/EMS - hesaplama ve izleme". Teslimat hizmeti profillerindeki tüm standart işlemlere erişebilirsiniz: Kopyala, Düzenle, Sil. Eylemlere, profil listesi girişlerinin bireysel eylemler menüsünden ulaşılabilir. Bu işlevsellik Bitrix sisteminde standarttır. Bitrix sistem belgelerinin ilgili sayfasından daha ayrıntılı bilgi edinebilirsiniz.
"Kısıtlamalar" sekmesi
Bu sekme, özel teslimat hizmetinin kullanımıyla ilgili kısıtlamalar girmenize olanak tanıyan standart Bitrix işlevselliğine ilişkin ayarları içerir.
Postcalc.ru hizmetini kullanarak gönderi maliyetinin doğru hesaplanması için, gönderiye dahil olan malların ağırlığına ve tahmini değerine ilişkin verilerin iletilmesi gerektiğini lütfen unutmayın. Sitenizin yönetim panelinde katalog ürünleri için bu verilerin doğru girildiğinden emin olun. Ayrıca hesaplamalar için, gönderenin adresinin yanı sıra ürünün teslimat adresiyle ilgili bilgiler de gereklidir. Göndericiye ilişkin bilgiler mağazanızın yönetim arayüzünde Yönetim - Ayarlar - Modül Ayarları - Online Mağaza bölümünden girilir. Ardından mağaza ayarları sayfasında "Mağaza Adresi" sekmesine gidin. Gönderilerin maliyetini doğru hesaplamak için "Dizin" alanını doldurun.
![](https://i1.wp.com/sotbit.ru/upload/sotbit.htmleditoraddition/e9c/sender_zip_code.jpg)
Teslimat adresi hakkında bilgi almak için aşağıdaki seçenekler mümkündür:
- Kayıt formundaki "Dizin" alanından - önerilen seçenek.
- Ödeme formundaki Konum alanından alınan Şehir mülkünden
- Ödeme formundaki "Konum" alanından elde edilen "Posta Kodu" özelliğinden - eğer bu özellik konum için doldurulmuşsa.
Sipariş formunda ayrı, zorunlu bir “Dizin” alanı sağlamanızı öneririz. Bu durumda, alıcının gönderinin gerekli olduğu posta kodunu açıkça belirtmesi gerekecektir, bu da gönderi maliyetini hesaplarken olası hataları önleyecektir.