Drupal Commerce 2.x: הגדרה, התאמה אישית, השקה

היררכיות מוצר מורכבות, וריאציות רבות ולוגיקת הזמנות לא סטנדרטית הופכים לעיתים קרובות את השקת חנות מקוונת לתהליך ארוך וכואב. אנו מגדירים ומתאימים את Drupal Commerce 2.x לצרכים שלכם, ומספקים פרויקט מפתח מ architecture קטלוג ועד אינטגרציה עם מערכת תשלומים. הצוות שלנו מטפל בכל המחזור, ומבטיח פעילות חנות אמינה ותמיכה מתמשכת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
Drupal Commerce 2.x: הגדרה, התאמה אישית, השקה
מורכב
~2-4 שבועות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1502
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1050
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

תארו לעצמכם חנות רהיטים מקוונת עם מאות מק"טים, שבה כל שילוב של בד ורגליים הוא מוצר נפרד עם מחיר ומלאי משלו. בווקומרס, זה היה דורש תריסר תוספים ועקיפות. Drupal Commerce 2.x מתמודד עם זה ישירות מהקופסה. ארכיטקטורה המבוססת על תוספים ותצורות YAML מאפשרת לכם לתאר בצורה גמישה כל היררכיית מוצרים. Drupal Commerce הוא לא רק עגלת קניות; זהו מסגרת ללוגיקת מסחר אלקטרוני מורכבת.

בעיות שאנחנו פותרים

מודולי Drupal סטנדרטיים לא תמיד מכסים לוגיקת מסחר אלקטרוני מורכבת. לדוגמה, מוצר עם וריאציות מרובות (צבע, גודל) ומחירים שונים. או הנחות רב-רמתיות המבוססות על היסטוריית הזמנות. לקוחות מגיעים אלינו לעתים קרובות לאחר ניסיונות כושלים להתאים את ווקומרס ל-Drupal. כאשר נדרשת אינטגרציה של 1C ברמת ההזמנות והמלאי, Commerce 2.x מתפקד טוב יותר.

אבל זה לא הכל. מקרה אמיתי: לקוח מוכר רהיטים עם עשרות שילובי בדים ורגליים. כל שילוב הוא מק"ט נפרד עם מחיר ומלאי. ב-Commerce 2.x, זה מטופל באמצעות וריאציות מוצר ושדות מותאמים אישית באמצעות Field API. דוגמה נוספת: צריך לאחד הזמנה אחת ממוצרים בחנויות שונות (multi-store). Commerce Stores תומך באופן טבעי בעגלות נפרדות ופרופילי תשלום. החיסכון בפיתוח ברור: אין צורך לכתוב מודולים מותאמים אישית לכל משימה.

למה Commerce 2.x עדיף על Commerce 1.x?

Commerce 2.x נכתב מחדש לחלוטין עבור גרסאות Drupal חדשות יותר ואינו תואם לגרסה הראשונה. הבדלים עיקריים:

קריטריון Commerce 1.x (D7) Commerce 2.x (D8+)
ארכיטקטורה Rules + Features תוספים + תצורת YAML
ניהול מצב Rules State Machine
ריבוי אתרים מורכב חנויות ישירות מהקופסה
API מבוסס Hook OOP + אירועים

אם הפרויקט שלכם עדיין על Drupal 7, תצטרכו להשתמש ב-Commerce 1.x legacy או לבצע הגירה עם עיצוב מחדש מלא. הניסיון שלנו מראה שהגירה מ-Commerce 1.x ל-2.x אורכת 2–4 שבועות בהתאם להתאמות אישיות.

איך אנחנו עושים את זה: מקרה קונקרטי

עבדנו עם קמעונאי רהיטים שהיו לו 500+ מק"טים ו-30 אפשרויות בד. לכל וריאנט בד היה מחיר ורמת מלאי משלו. הלקוח נזקק ל:

  • שדות וריאציה מותאמים אישית (בד, סוג רגליים)
  • אינטגרציה עם 1C לניהול מלאי
  • חיפוש פקטורי למאפייני מוצר
  • תהליך קופה דו-שלבי (כתובת + תשלום)

בנינו את הפתרון על Drupal 10 ו-Commerce 2.x. וריאציות מוצר נוצרו פרוגרמטית, והשתמשנו במודול composer require drupal/commerce drupal/commerce_price drupal/commerce_store \ drupal/commerce_product drupal/commerce_order drupal/commerce_cart \ drupal/commerce_checkout drupal/commerce_payment drupal/commerce_tax drush en commerce commerce_product commerce_cart commerce_checkout \ commerce_payment commerce_tax commerce_order -y drush cr לניהול מלאי רב-מחסני. תהליך הקופה הותאם אישית עם שני שלבים: כתובת משלוח ותשלום. החיפוש הפקטורי השתמש ב-Search API עם Solr. תוצאה: זמן הקופה ירד מ-4 שלבים ל-2, זמן העלאת המוצרים ירד ב-60%, ושגיאות סנכרון המלאי ירדו ב-90%.

הגירה מ-Commerce 1.x? הנה מה לעשות

הגירה היא לא רק העברת נתונים; זהו עיבוד מחדש של לוגיקת עסקית. Commerce 1.x ו-2.x אינם תואמים: מודולים, hooks, מבנה מסד נתונים – הכל שונה. אנחנו מפתחים תוכנית הגירה הכוללת: ביקורת פונקציונליות קיימת, ייצוא נתונים ל-CSV/JSON, כתיבת סקריפטים להגירה על Migrate API, הקמת חנות חדשה מאפס. לאחר ההגירה, הזמנות ומלאי מועברים, ותהליכי קופה מותאמים אישית נכתבים מחדש לארכיטקטורת התוספים.

התקנה בסיסית באמצעות Composer

composer require drupal/commerce drupal/commerce_price drupal/commerce_store \
 drupal/commerce_product drupal/commerce_order drupal/commerce_cart \
 drupal/commerce_checkout drupal/commerce_payment drupal/commerce_tax
drush en commerce commerce_product commerce_cart commerce_checkout \
 commerce_payment commerce_tax commerce_order -y
drush cr
מודולים נוספים לשערי תשלום: `composer require drupal/commerce_stripe drupal/commerce_paypal`. למלאי: `commerce_stock`. ל-1C: `commerce_1c`. לחיפוש: `search_api` + `search_api_solr`.

הגדרת חנות וסוגי מוצרים

צרו חנות ב-/admin/commerce/config/stores. הגדירו מטבע בסיס, מדינת ברירת מחדל ורשימת מדינות למשלוח.

מוצרים ב-Commerce מחולקים למוצר (כרטיס) ווריאציה (מק"ט עם מחיר). צרו סוגי מוצרים וסוגי וריאציות דרך הניהול. ליצירה פרוגרמטית, השתמשו בקוד:

use Drupal\commerce_price\Price;
use Drupal\commerce_product\Entity\Product;
use Drupal\commerce_product\Entity\ProductVariation;

$variation = ProductVariation::create([
  'type' => 'default',
  'sku' => 'CHAIR-BLK-L',
  'price' => new Price('1499.00', 'RUB'),
  'field_color' => ['target_id' => $colorTermId],
  'field_size' => 'L',
]);
$variation->save();

$product = Product::create([
  'type' => 'default',
  'title' => 'Кресло офисное',
  'stores' => [$storeId],
  'variations' => [$variation],
]);
$product->save();

לקטלוג, השתמשו ב-Views. הגדירו מסננים לפי מחיר, מאפיינים, חנות. לחיפוש פקטורי, חברו את Search API ו-Solr.

התאמת תהליך הקופה ללוגיקת העסקית שלכם

Commerce 2.x מאפשר לכם להתאים אישית את תהליך הקופה באמצעות Checkout Flows. ניתן להוסיף או להסיר שלבים: התחברות, כתובת משלוח, תשלום, אישור. אם אתם צריכים שדה לא סטנדרטי, כמו הערת הזמנה, צרו תוסף:

/**
 * @CommerceCheckoutPane(
 *   id = "custom_gift_note",
 *   label = @Translation("Gift note"),
 *   default_step = "order_information",
 * )
 */
class GiftNotePane extends CheckoutPaneBase {

  public function buildPaneForm(array $pane_form, FormStateInterface $form_state, array &$complete_form): array {
    $pane_form['gift_note'] = [
      '#type' => 'textarea',
      '#title' => $this->t('Сообщение получателю'),
      '#rows' => 3,
    ];

    return $pane_form;
  }

}

חברו שערי תשלום: Stripe, PayPal, YooKassa דרך מודולים מתאימים. התצורה כוללת מפתחות API ובחירת מצב (בדיקה/חי). אנו מבטיחים תמיכה בגרסאות Drupal העדכניות ביותר.

ניהול מלאי ומסים

Commerce אינו כולל ניהול מלאי ישירות מהקופסה – השתמשו במודול use Drupal\commerce_price\Price; use Drupal\commerce_product\Entity\Product; use Drupal\commerce_product\Entity\ProductVariation; $variation = ProductVariation::create([ 'type' => 'default', 'sku' => 'CHAIR-BLK-L', 'price' => new Price('1499.00', 'RUB'), 'field_color' => ['target_id' => $colorTermId], 'field_size' => 'L', ]); $variation->save(); $product = Product::create([ 'type' => 'default', 'title' => 'Кресло офисное', 'stores' => [$storeId], 'variations' => [$variation], ]); $product->save(); . הוא מוסיף שדה רמת מלאי לווריאציות ותומך במספר מחסנים.

use Drupal\commerce_stock\StockServiceManagerInterface;

$stockService = \Drupal::service('commerce_stock.service_manager')
  ->getService($productVariation);
$level = $stockService->getStockLevel($productVariation, $locations);
$stockService->createTransaction(
  $productVariation,
  $locationId,
  [],
  100,
  new Price('0', 'RUB'),
  'RUB',
  TRANSACTION_TYPE_IN,
  []
);

מסים מוגדרים דרך מודול /** * @CommerceCheckoutPane( * id = "custom_gift_note", * label = @Translation("Gift note"), * default_step = "order_information", * ) */ class GiftNotePane extends CheckoutPaneBase { public function buildPaneForm(array $pane_form, FormStateInterface $form_state, array &$complete_form): array { $pane_form['gift_note'] = [ '#type' => 'textarea', '#title' => $this->t('Сообщение получателю'), '#rows' => 3, ]; return $pane_form; } } . צרו סוג מס, הגדירו שיעור ואזורים. לדוגמה, מע"מ 20% לבלארוס. Commerce מחיל אוטומטית את השיעור בהתבסס על כתובת הלקוח.

מה כלול בעבודה

  1. ניתוח דרישות ומפרט טכני
  2. התקנת Drupal ו-Commerce על האחסון
  3. הגדרת חנות, סוגי מוצרים ווריאציות
  4. פיתוח שלבי קופה מותאמים אישית (במידת הצורך)
  5. הגדרת שער תשלום ומסים
  6. אינטגרציית מלאי
  7. הגדרת קטלוג עם חיפוש
  8. בדיקות והדרכת מנהלים
  9. תיעוד מערכת
  10. אחריות לחודש

הערכות זמנים

שלב זמן
התקנה והגדרת חנות 2–3 ימים
התאמת קופה 2 ימים
אינטגרציית שער תשלום 1–3 ימים
ניהול מלאי 1–2 ימים
קטלוג עם חיפוש פקטורי 2–4 ימים
מסים 1–2 ימים

חנות עובדת בסיסית אורכת 1.5 עד 2 שבועות. פרויקט מורכב עם לוגיקה מותאמת אישית אורך 3 עד 5 שבועות. קבלו הערכה ראשונית: נעזור לכם להבין אילו מודולים נדרשים וכמה זמן ייקח הפיתוח. צרו קשר כדי לדון בפרטים.