• Cs-Cart Türkiye Destek ve Paylaşım Sitemize Hoş Geldiniz
  • Yeni Temamızla Daha işlevsel Sizlerleyiz.
  • Öneri ve Dileklerinizi Mesajla iİetiniz.
Hoşgeldiniz.! Lütfen Giriş Yap yada Kayıt Ol


Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Bilgi Cs-cart kullanıcılarını Mailchimp mail listenizle otomatik senkronize etmek
#1
My changes eklentinizin kurulu ve aktif olduğundan emin olun.


.zip   MCAPI.class.zip (Dosya Boyutu: 36.07 KB / İndirme Sayısı: 4)

Üstteki ek dosyayı zipten çıkarın MCAPI.class.php dosyasını addons\my_changes\ klasörünü altına kopyalayın.

Aşağıdaki kodları addons\my_changes\config.php dosyasının içine ekleyin. Bu klasör ve dosya yoksa oluşturun.

PHP Kod:
<?php
// mailchimp config
//API Key - see http://admin.mailchimp.com/account/api
define('MC_API_KEY''Your config');
 
// Also, login to MC account, go to List, then List Tools, and look for the List ID entry
define('MC_LIST_ID''List ID you want to update');
 
//just used in xml-rpc examples
$apiUrl 'http://api.mailchimp.com/1.3/';
 
define('MC_SYNC_PERIOD'25*60*60) ; // little over 24 hrs to not miss anything on overlap
 
?>

Üstteki kodlarda 'Your config' yazan yere mailchimp üyeliğinizde oluşturduğunuz API'yi yazmanız gerekli.
API key alabilmeniz için ya mailchip üyeliğiniz olmalı ya da yeni bir üyelik oluşturmalısınız. Daha sonra http://admin.mailchimp.com/account/api linkinde '+ Create A Key' yazan yere tıklayarak oluşturabilirsiniz.
(Örnek: 41d85dc4514c933c30ce4fe9e44a130a-us3)

Bir kaç satır altındaki 'List ID you want to update' yazan yere ise mailchip üzerinde oluşturduğunuz mail listelerinden cs-cart için oluşturduğunuz olanına ait 'ID'yi yazmanız gerekli. Bu ID'yi de görmek için mailchimp hesabınızda 'Lists' bölümünde Cs-cart için oluşturduğunuz listenin üzerine tıklayın ve üstteki 'Settings' menüsünden 'List name & defaults' tıklayın. Açılan sayfada sağ üst köşede "62611ac9d2" örneğindeki gibi bir ID vardır. Bu bölüme sizinkini yazacaksınız.

addons\my_changes\controllers\customer\

klasörünün altına aşağıdaki kodlar ile mailchimp.php oluşturun.

PHP Kod:
<?php
/**
* @author shikhar kumar ([email protected])
* mailchimp controller, uses mailchimp api to update list through cron
* for details see my blog http://shikhar.me/blog
*/
 
require_once( DIR_ADDONS 'my_changes/MCAPI.class.php' ) ;
 
if (
$_SERVER['REQUEST_METHOD'] == 'GET') {
 
if(
$mode == 'update_list'){
 
 if(!
MC_API_KEY){
 exit(
'API Key not set in config') ;
 }
 
 if(!
MC_LIST_ID){
 exit(
'List Id not set in config') ;
 }
 
 if(!
MC_SYNC_PERIOD){
 exit(
'Sync period not set in config') ;
 }
 
 
$api = new MCAPI(MC_API_KEY);
 
 
$since_timestamp time() - MC_SYNC_PERIOD ;
 
 
// get customers
 
$user_array db_get_array('SELECT user_id,title,firstname,lastname,email FROM ?:users WHERE user_type = "C" AND timestamp > ?i'$since_timestamp) ;
 
 if(empty(
$since_timestamp)){
 exit(
'No user to add') ;
 }
 
 
$batch = array() ;
 
foreach(
$user_array as $ua) {
 
$batch[] = array(
 
'EMAIL'=>$ua['email'],
 
'FNAME'=>$ua['firstname'],
 
'LNAME'=>$ua['lastname'],
 
'TITLE'=>$ua['title']
 );
 }
 
$optin false//yes, send optin emails
 
$up_exist false// yes, update currently subscribed users
 
$replace_int false// no, add interest, don't replace
 
$vals $api->listBatchSubscribe(MC_LIST_ID,$batch,$optin$up_exist$replace_int);
 
if (
$api->errorCode){
 echo 
"Batch Subscribe failed!<br/>";
 echo 
"code:".$api->errorCode."<br/>";
 echo 
"msg :".$api->errorMessage."<br/>";
 } else {
 echo 
"added: ".$vals['add_count']."<br/>";
 echo 
"updated: ".$vals['update_count']."<br/>";
 echo 
"errors: ".$vals['error_count']."<br/>";
 foreach(
$vals['errors'] as $val){
 echo 
$val['email_address']. " failed<br/>";
 echo 
"code:".$val['code']."<br/>";
 echo 
"msg :".$val['message']."<br/>";
 }
 }
 
exit(
'<br/>complete') ;
 
 } 
// end update_list
 
}
 
?>

Aşağıdaki komut satırını kullanarak cronjob oluşturun ve zaman aralığını gerektiği gibi ayarlayın.

Günde 1 kere sabah erken saatlere ayarlamanız önerilir.

Kod:
0 8 * * * wget -O /dev/null "www.your-site.com/index.php?dispatch=mailchimp.update_list"

Bu arada mailchimp'in gönderdiği maillerin altına üyelikten çıkmak için link koyabilme özelliği vardır. Bunu kullansanız bile üye ancak mailchimp listesinden çıkar. Ertesi gün sitedeki liste ile mailchimp listesi senkronize olduğunda yeniden eklenecektir. Böyle bir handikap var. Ancak üyelikten çıkmak için şu adrese boş bir mail atın mantığında farklı çözümler bulmak lazım.

Bu durumda bu mesajın başlığında senkronize etmek kelimesi hatalı oluyor, güncellemek diyebiliriz. Mailchip listesini daha yeni ve güncel olan cs-cart kullanıcılarının mail adresleri ile güncellemek.


Bu linki yollayan globalburo'ya teşekkürler.
http://shikhar.me/blog/sync-cs-cart-user...ddon-code/
Sahip olma duygusunun ayrılmaz parçasıdır KAYBETME korkusu!
Sahiplik duymadan sevmek cennet yaşantısıdır. Korkuların ise cehennem ateşin!
(Ahmed Hulûsi)
 
Cevap
  


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Bilgi:  cs-cart background.gif temizleme pcmemo 3 7,283 22.03.2021, 20:53
Son Yorum: morpheus
  cs-cart iyzico ödeme eklentisi sakurt 6 7,530 24.06.2020, 05:16
Son Yorum: sakurt
  Bilgi:  CS-Cart & Multi-Satıcı İndirme linkleri (download) globalburo 0 2,625 07.02.2019, 22:28
Son Yorum: globalburo
  Bilgi:  CS-Cart & Multi-Satıcı 4.9.2 globalburo 0 2,594 22.11.2018, 22:14
Son Yorum: globalburo
  Bilgi:  CS-Cart & Multi-Vendor 4.9.1 Çıktı globalburo 2 5,084 15.10.2018, 11:22
Son Yorum: beyaznevresim

Hızlı Menü:


Tarama: 1 Ziyaretçi