Comproc Prozess anlegen

Das Beispiel zeigt Ihnen, wie Sie über ein Installer-Script einen neun Comproc-Prozess in der eCommerceSuite erstellen.

Anwendungsbeispiel

Über den Comproc können E-Mail-Prozesse zu Kunden, Aufträgen, Produkten, etc angelegt werden. Im folgenden Beispiel wird eine neuen Comproc zu Aufträgen angelegt.

Sourcecode

  1. /**
  2.  * Erstellt einen neuen Comproc Prozess innerhalb des eCommerceSuite-Shops. Über
  3.  * den Prozess-Label kann der Prozess eindeutig identifiziert und gestartet werden.
  4.  * Über den "proc_datatype" Field wird der Comproc-Komponente mitgeteilt, dass der
  5.  * Prozess zu Aufrägen gehört und in diesen Kontext angezeigt werden soll.
  6.  */
  7. $r = $this->eCMS->plugin_siteControl->plugin_ecs->ecs_ecomproc->process_create(
  8.     array(
  9.         'proc_label' => 'mein_plugin_order_rating_request',
  10.         'proc_name' => 'Auftrag Bewertung Anfrage',
  11.         'proc_desc' => 'Sendet eine Bewertungsanfrage an den Kunden, nach erfolgreich Abschluss des Auftrags.',
  12.         'proc_datatype' => 'order',
  13.     )
  14. );
  15.  
  16. if ($r['status']==true){
  17.     // OK
  18.     $proc_id = $r['meta']['insert_id'];
  19. } else {
  20.     // Error
  21.     $this->eCMS->plugin_siteControl->plugin_ecs->log_error('...');
  22.     return $r;
  23. }
  24.  
  25.  
  26. /**
  27.  * Nachdem der Comrproc erfolgreich angelegt wurde, wird nun eine E-Mail in diesen
  28.  * Prozess hinzugefügt. Die Prozess-ID "$proc_id" wurde im ersten Schritt zwischen-
  29.  * gespeichert. Mit den Platzhalter "${...}" können Daten aus dem Auftrag adressiert
  30.  * werden.
  31.  */
  32. $r = $this->eCMS->plugin_siteControl->plugin_ecs->ecs_ecomproc->object_create(
  33.     array(
  34.         'fk_obj_proc_id' => $proc_id,
  35.         'obj_type' => 'email_html',
  36.         'obj_name' => 'Bewertungsanfrage - Kunde',
  37.         'obj_receiver' => '${invoice_email}',
  38.         'obj_sender' => '${shop_config/email_purchase_from}',
  39.         'obj_subject' => 'Ihre Bestellung: ${orderid}, ${person/lastname}, ${person/firstname}',
  40.     )
  41. );
  42.  
  43. if ($r['status']==true){
  44.     // OK
  45.     $obj_id = $r['meta']['insert_id'];
  46. } else {
  47.     // Error
  48.     $this->eCMS->plugin_siteControl->plugin_ecs->log_error('...');
  49.     return $r;
  50. }
  51.  
  52.  
  53. /**
  54.  * Zur angelegten E-Mail wird nur ein E-Mail-Body hinzugefügt. Als Render-Engine für
  55.  * den Mail-Body wird das Shop-Frontend-eCMS eingestellt. Durch den Comproc wird der
  56.  * eCMS-Seite die Auftrag-ID "oid" als Seiten-Parameter übergeben. Über diesen Seiten-
  57.  * Parameter kann der Seiten-Inhalt dynamisch zum Auftrag angepasst werden.
  58.  */
  59. $r = $this->eCMS->plugin_siteControl->plugin_ecs->ecs_ecomproc->objectPart_create(
  60.     array(
  61.         'fk_objp_obj_id' => $obj_id,
  62.         'objp_type' => 'body',
  63.         'objp_engine' => 'ecms_page',
  64.         'objp_engine_param' => 'mein_plugin_email_order_rating_body',
  65.         'objp_pos' => 1,
  66.     )
  67. );
  68.  
  69. if ($r['status']==true){
  70.     // OK
  71. } else {
  72.     // Error
  73. }