Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

PrestaShop’ta özel sipariş durumları oluşturma veya düzenleme

Özel bir durum oluşturmak, mevcut bir durumu gizlemek, ya da bir olaya bağlı olarak durumun otomatik değişmesini sağlamak: sipariş durumu yönetimi hem görüntülemeye hem ilişkili e-postaya dokunur, ikisinden biri yanlış yapılandırıldığında bazen bir 500 hatasına da yol açar.

Sorunumu anlatayım Mesaj gönderin

Back-office’ten ayarlanabilenler

Durumlar, her birinin kendi etiketi, rengi ve en önemlisi kendi template’ine sahip, müşteriye giden otomatik bir e-posta tetikleyicisi olabildiği Orders > Statuses altında yönetilir. Yeni bir durum oluşturmak, e-postasını ekleyip kaldırmak, rengini değiştirmek: bunların hepsi bu ekrandan, geliştirme gerekmeden yapılır.

Buna karşılık yerleşik olarak desteklenmeyen şey: mevcut bir durumu belirli back-office kullanıcılarından gizlemek, ya da geçmiş için saklayarak standart iş akışından çıkarmak. Bir durum devre dışı bırakılabilir veya silinebilir, ama geliştirme yapılmadan koşullu olarak gizlenemez.

Durum değişiminde 500 hatası

Bu sık karşılaşılan bir durumdur ve neredeyse her zaman aynı nedene dayanır: yeni duruma bağlı e-posta template’i eksik, hatalı biçimlendirilmiş, ya da bulunamayan bir logoya referans veriyordur. Durum değişikliği e-postanın oluşturulmasını tetikler ve bu template’teki tanımsız bir Smarty değişkeni, durum değişikliği mantığının kendisi doğru olsa bile, tüm süreci 500 hatasıyla kesmeye yeter.

Daha karmaşık bir neden aramadan önce, her zaman ilk olarak kullanılan dile ait mails/ klasöründeki, ilgili durumun e-posta template’ini kontrol ederim.

Bir durum değişimini otomatikleştirmek

Bir durumun otomatik olarak değişmesini sağlamak — örneğin siparişe bir kargo takip numarası girildiği anda — PrestaShop’ta yerleşik olarak bulunmaz. Bu, istenen koşula göre durum değişikliğini tetiklemek için, örneğin sipariş güncellendiğinde çalışacak uygun bir hook’a kod bağlanmasını gerektirir. Bu bir ayar değil, hedefli bir geliştirmedir.

İlgili sayfalar

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

objectif
version
emplacement (facultatif)
existant (facultatif)
echeance (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Bir durum silinmeden gizlenebilir mi?
Koşullu bir kullanım için yerleşik olarak hayır: PrestaShop yalnızca bir durumu genel olarak etkinleştirmeyi veya devre dışı bırakmayı sunar. Back-office kullanıcısının profiline göre gizleme geliştirme gerektirir.
Bir siparişin durumunu otomatik olarak değiştiren bir eklenti var mı?
Ödeme veya kargo gibi belirli durumlar için eklentiler mevcuttur, ama bir siteye özgü bir mantık için genellikle genel bir eklentiyi uyarlamak yerine özel bir hook geliştiririm.
Bir 500 hatası neden yalnızca belirli durumlarda ortaya çıkıyor?
Çünkü her durumun kendi e-posta template’i vardır: bu template’lerden yalnızca biri bozuksa, yalnızca o belirli duruma geçiş hatayı tetikler, diğerleri normal şekilde çalışmaya devam eder.
Mevcut bir durum risksiz şekilde yeniden adlandırılabilir mi?
Evet, etiketi yeniden adlandırmanın teknik bir etkisi yoktur. Daha fazla dikkat gerektiren şey, davranışını değiştirmektir — geçmiş rengi, e-posta gönderimi, ilişkili faturalama durumu — çünkü sitedeki başka ayarlar buna dayanıyor olabilir.