اذهب إلى المحتوى

البحث في الموقع

المحتوى عن 'events'.

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • مقالات برمجة عامة
  • مقالات برمجة متقدمة
  • PHP
    • Laravel
    • ووردبريس
  • جافاسكربت
    • لغة TypeScript
    • Node.js
    • React
    • Vue.js
    • Angular
    • jQuery
    • Cordova
  • HTML
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • لغة C#‎
    • ‎.NET
    • منصة Xamarin
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • لغة Rust
  • برمجة أندرويد
  • لغة R
  • الذكاء الاصطناعي
  • صناعة الألعاب
  • سير العمل
    • Git
  • الأنظمة والأنظمة المدمجة

التصنيفات

  • تصميم تجربة المستخدم UX
  • تصميم واجهة المستخدم UI
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب GIMP
    • كريتا Krita
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • مقالات DevOps عامة
  • خوادم
    • الويب HTTP
    • البريد الإلكتروني
    • قواعد البيانات
    • DNS
    • Samba
  • الحوسبة السحابية
    • Docker
  • إدارة الإعدادات والنشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • مقالات عمل حر عامة
  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • العمل الحر المهني
    • العمل بالترجمة
    • العمل كمساعد افتراضي
    • العمل بكتابة المحتوى

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
    • بريستاشوب
    • أوبن كارت
    • دروبال
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
    • Trados
    • Memsource
  • برامج تخطيط موارد المؤسسات ERP
    • تطبيقات أودو odoo
  • أنظمة تشغيل الحواسيب والهواتف
    • ويندوز
    • لينكس
  • مقالات عامة

التصنيفات

  • آخر التحديثات

أسئلة وأجوبة

  • الأقسام
    • أسئلة البرمجة
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات

التصنيفات

  • كتب ريادة الأعمال
  • كتب العمل الحر
  • كتب تسويق ومبيعات
  • كتب برمجة
  • كتب تصميم
  • كتب DevOps

ابحث في

ابحث عن


تاريخ الإنشاء

  • بداية

    نهاية


آخر تحديث

  • بداية

    نهاية


رشح النتائج حسب

تاريخ الانضمام

  • بداية

    نهاية


المجموعة


النبذة الشخصية

تم العثور على 5 نتائج

  1. الأحداث Events هي إجراءات يمكن لبرنامج التعرّف عليها ومن ثمّ التعامل معها. يمكن أن نأخذ مثالا على ذاك عملية تسجيل مستخدم في الموقع. عندما يكمل زائر ملء حقول الاستمارة الخاصّة بالتسجيل في موقع فإنه يكون قد فعّل حدثا يمكننا تسميّته "التسجيل في الموقع"؛ نستطيع بعد ذلك التعامل مع هذا الحدث لنقرّر ما التالي. كانت الطريقة القديمة تقضي بكتابة شفرة برمجية مباشرةً في المتحكّم Controller للتعامل مع الحدث؛ إلا أن توسّع التطبيق وزيادة الحاجة للتعامل مع أحداث جديدة يجعل الحاجة أكبر لطريقة جديدة أنظف وأكثر قابلية للتمديد. يستجيب Laravel لهذه الحاجة بالصنف Event والأدوات المساعدة المتعلّقة به. لا تقتصر الأحداث على إرسال البريد؛ إلا أن هذا الأخير وسيلة سهلة لشرح المبدأ. سنرى في هذا الدرس الخطوات اللازمة لتعريف حدث واستخدامه. نفترض أن لدينا جدولا ببيانات الاتصال ببعض الأشخاص؛ ونريد أن نرسل لأحدهم بريدا في كل مرة يُعرَض فيها الرابط contacthandler/id/ حيث id معرّف من نرسل له البريد. سنستخدم في هذا الجدول نفس المشروع الذي أنشأناه في الدرس السابق ونزيد عليه بإنشاء نموذج Model وجدول بيانات لحفظ جهات الاتّصال. تهيئة المشروع لا تدخل الخطوات الواردة في هذا العنوان في صميم إدارة الأحداث في Laravel؛ إلا أننا سنحتاجها للحصول على نتيجة مرئية للمثال الذي نبنيه. سنمرّ على الخطوات دون الكثير من التفاصيل لورودها في دروس سابقة. إنشاء النموذج Contact ننفذ الأمر التالي في مجلّد المشروع لإنشاء نموذج باسم Contact مع ملف التهجير الخاصّ به: php artisan make:model Contact -m نعدّل ملف التهجيرعلى النحو التالي: public function up() { Schema::create('contacts', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('subject'); $table->text('body'); $table->timestamps(); }); } أضفنا الحقول التي نريد استخدامها في جدول البيانات. ننفذ أمر التهجير لإنشاء الجدول: php artisan migrate بذر البيانات سنحتاج لبيانات اتصّال للتجربة عليها. نستخدم معمل نماذج Model factory لبذر الجدول contacts. ننشئ ملفا باسم ContactFactory.php في المسار /app/factories ونضيف إليه المحتوى التالي: <?php $factory->define(App\Contact::class, function (Faker\Generator $faker){ return [ 'name' => $faker->name, 'email' => $faker->unique()->safeEmail, 'subject' => $faker->word, 'body' => $faker->text ]; }); يستدعي معمل النماذج مكتبة Faker لإدراج بيانات في جدول contacts عبر النموذج Contact. ثم ننشئ صنفا للبذر: php artisan make:seeder ContactTableSeeder نستورد النموذج Contact في صنف البذر ContactTableSeeder ونستخدم معمل النماذج لتوليد بيانات عشوائية: <?php use Illuminate\Database\Seeder; use App\Contact; class ContactTableSeeder extends Seeder { public function run() { Contact::truncate(); factory(Contact::class, 50)->create(); } } نأتي الآن للخطوة الأخيرة قبل تنفيذ أمر البذر وهي تحرير الملف DataBaseSeeder.php ليستدعي الصّنف ContactTableSeeder في الدالة run: $this->call(ContactTableSeeder::class); ثم ننفذ البذر: php artisan db:seed المسار والمتحكم نفتح ملف routes.php لإضافة مسار للرابط contacthandler/id/: Route::get('/contacthandler/{id}', 'HomeController@contactHandler'); يحيل ملف المسارات الطلب على الرابط إلى الدالة contacthandler في المتحكّم HomeController. نذهب للمتحكم ونضيف هذه الدالة: public function contactHandler($id) { } نترك الدالة خاوية لحد الساعة. التعامل مع الأحداث جهزنا المشروع ويمكننا الآن الانتقال إلى الأحداث والتعامل معها. نذكّر بأننا نريد إرسال بريد لصاحب جهة الاتصال عند طلب رابط به معرّفه. مثلا نرسل بريدا إلى جهة الاتصال ذات المعرّف 6 عند زيارة يُعرَض فيها الرابط contacthandler/6/. نحصُل على البريد الإلكتروني الذي سنرسل إليه الرسالة من خلال النموذج Contact؛ إضافة لاسمه وموضوع الرسالة وفحواها. ولدنا هذه البيانات تلقائيا أثناء البذر السابق. تعريف الحدث يتلخّص الأمر في أننا سننفّذ إجراءً عند وقوع الحدث "زيارة رابط المعرّف الخاص بجهة الاتصال". سنسميّ الصنف الموافق للحدث بـ ContactHandlerAction. نستعين بأداة artisan لإنشاء الحدث على النحو التالي: php artisan make:event ContactHandlerAction ستجد أن الأداة أنشأت الملف ContactHandlerAction.php على المسار app/Events وأضافت إليه المحتوى التالي (بعد نزع التعليقات): class ContactHandlerAction extends Event { use SerializesModels; public function __construct() { } public function broadcastOn() { return []; } } سنضيف خاصيّة إلى الصّنف ليصبح كالتالي: class ContactHandlerAction extends Event { use SerializesModels; public $contact; public function __construct($contact) { $this->contact = $contact; } public function broadcastOn() { return []; } } أضفنا متغيّرا جديدا لحفظ بيانات الاتصال واستخدامها عند الحاجة. نعود لدالّة contactHandler في المتحكّم HomeController ونعدّلها لتصبح كما يلي: public function contactHandler($id) { $contact = Contact::find($id); event (new ContactHandlerAction($contact)); return view('mail.success_view'); } نحتاج لاستيراد الصنفين المستخدمين في الدالة (النموذج والحدث) إلى المتحكّم: use App\Contact; use App\Events\ContactHandlerAction; عند استدعاء الدالة contactHandler نأخذ المعطى id المُمرَّر في الرابط ونحيله إلى الدالة find في النموذج Contact من أجل العثور عليه في قاعدة البيانات. في التعليمة التالية يبدأ عمل آلية إدارة الأحداث في Laravel: نستدعي الدالة المساعدة event ونمرّر لها كائنا من الحدث ContactHandlerAction الذي أنشأناه قبل قليل. نستخدم جهة الاتصال التي عثرنا عليها contact$ من أجل بناء الحدث. يعني هذا أننا أطلقنا الحدث “زيارة رابط المعرّف الخاص بجهة الاتصال” وزوّدناه بجهة الاتصال المعنيّة. مالذي يترتّب عن إطلاق الحدث؟ هذا هو ما سنراه الآن. التعامل مع الحدث توجد في Laravel ما تُعرَف بالمستمعات Listeners ومهمتها انتظار وقوع أحداث لتبدأ عملها. نعود لأداة artisan وننفّذ الأمر التالي: php artisan make:listener EmailContactListener --event="ContactHandlerAction" ينشئ الأمر صنفا باسم EmailContactListener للاستماع للأحداث ContactHandlerAction. يوجد الصّنف EmailContactListener في المجلّد /app/Listeners ومحتواه التالي: class EmailContactListener { public function __construct() { // } public function handle(ContactHandlerAction $event) { // } } لاحظ أن الدالة handle تنتظر معطى من نوع ContactHandlerAction. يشغّل المستمِع الدالة handle بعد تلقيه إخطارا بإطلاق الحدث ContactHandlerAction. سنعود بعد قليل للدالة handle بعد أن نعرّف الآلية التي سيُخطَر بها المستمِع بوقوع الحدث. ربط الحدث بآلية التعامل معه يوفّر Laravel مزوّد خدمة خاصًّا بالأحداث اسمه EventServiceProvider يوجد في المجلّد /app/Providers. إن فتحت الملف EventServiceProvider.php ستجد التالي (إن لم يسبق لأحد التعديل عليه): class EventServiceProvider extends ServiceProvider { protected $listen = [ 'App\Events\ContactHandlerAction' => [ 'App\Listeners\EmailContactListener', ], ]; public function boot(DispatcherContract $events) { parent::boot($events); // } } ما يهمّنا هنا هو الخاصيّة listen$. نعدّلها لتصبح على النحو التالي: protected $listen = [ 'App\Events\ContactHandlerAction' => [ 'App\Listeners\EmailContactListener', ], ]; يمكن تعريف أكثر من مستمِع لنفس الحدث (لاحظ أن قيمة App\Events\ContactHandlerAction في الخاصيّة هي مصفوفة Array). تمكننا الآن العودة إلى المنصِت بعد أن أعلمنا Laravel بالرابط بينه والحدث. تنفيذ آلية التعامل مع الحدث نعدّل الدالة handle لتصبح على النحو التالي: public function handle(ContactHandlerAction $event) { $data = [ 'name' => $event->contact->name, 'email' => $event->contact->email, 'subject' => $event->contact->subject, 'body' => $event->contact->body ]; Mail::send('mail.email_view',$data , function($message) use($data) { $message->from('hsoub@academy.com', 'Hsoub Academy'); $message->to($data['email'])->subject($data['subject']); }); if (Mail::failures()){ throw new EmailSendingException; } } نعرّف مصفوفةً باسم data$ تحوي اسم جهة الاتصال، بريدها الإلكتروني، موضوع الرسالة وفحواها. نعثُر على هذه البيانات من الكائن contact الذي مررناه للحدث event عند زيارة الرابط. نستخدم هذه البيانات لجدولة إرسال بريد عبر الدالة Mail::send. تأخذ الدالة Mail::send عرضا View تستخدمه لتنسيق الرسالة والبيانات التي أخذناها من جهة الاتصال. ثم نختبر أخطاء إرسال البريد الإلكتروني بالدالة Mail::failures؛ فإن وجدت أخطاء استخدمنا استثناءً Exception مخصّصًا لمعالجتها. يمكنك الحصول على هذا الاستثناء في الملف المرفق أو مراجعة الدرس الخاص بالاستثناءات. نحن الآن جاهزون تقريبا لتجربة الأحداث والتعامل معها في Laravel. بقي لنا إنشاء بضعة عروض لحاجات تطبيقنا المختلفة: mail.success_view في المتحكّم، mail.email_view لتنسيق الرسالة، إضافة لعروض أخرى قد تحتاجها أثناء تخصيص الاستثناء. يمكنك الحصول عليها في الملف المرفق. بقيت لنا خطوة أخيرة قبل اختبار التطبيق: إعداد Laravel لإرسال البريد. يوفّر Laravel وسيلة لمحاكاة إرسال البريد يمكننا استخدامها للتجربة. ابحث في ملف متغيّرات النظام env. عن المعطى MAIL_DRIVER وعيّن قيمته بـlog: MAIL_DRIVER=log نطلُب بهذه الطريقة من Laravel كتابة البريد في ملفّ السجل بدلا من إرساله. هذه الطريقة مفيدة أثناء الاختبار. افتح الرابط التالي في المتصفّح (ضع اسم المضيف المناسب بدلا من laraveltips): http://laraveltips.dev/contacthandler/45 ملحوظة: لا يتعدّى عدد جهات الاتصال التي أضفناها الخمسين؛ سيؤدي البحث عن جهة اتصال بمعرّف أكبر من 50 إلى خطأ يمكنك التقاطه في استثناء كما فعلنا في درس استخدام الاستثناءات Exceptions المخصَّصة في Laravel. ثم اذهب إلى ملف السجل storage/logs/laravel.log للتأكد من نجاح معالجة الحدث؛ ستجد في آخر الملف ما يشبه التالي: [2016-03-30 22:16:29] local.DEBUG: Message-ID: <8c79163440df2d3b5bbb3efd97ad549f@laraveltips.dev> Date: Wed, 30 Mar 2016 22:16:29 +0000 Subject: distinctio From: Hsoub Academy <hsoub@academy.com> To: fFranecki@example.net MIME-Version: 1.0 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable يليه محتوى العرض المستخدم لتنسيق الرسالة (mail.email_view في المثال). إن حدثت مشكلة في إرسال البريد فسيتولّى الاستثناء -إن أعددتَه - إظهار العرض المناسب للزائر؛ وفي حال سريان الأمور على الوجه الأمثل فسيُظهر المتحكّم العرض mail.success_view للدلالة على نجاح الإرسال. الملف المرفق: الأحداث في Laravel.zip ترجمة -وبتصرّف- للمقال Eventing in Laravel 5.1 لصاحبه Bill Keck.
  2. هل تعلم أنّ عدد حسابات البريد الإلكتروني أكبر بثلاثة أضعاف من عدد حسابات فيس بوك وتويتر مجتمعة؟ وهل تعلم أنّ فرصتك في الحصول على نقرة من رسالة إلكترونية أكثر بستة أضعاف منها في تويتر؟ من المؤكد أنّك قد اطلعت على التقارير التي تظهر أن للبريد الإلكتروني عائد استثمار هو الأعلى من بين قنوات التسويق المتوفّرة، ولعلّك تتطلّع إلى الشروع في استخدام هذه الأداة في توجيه مبيعاتك والحصول على العائدات لمشروعك التجاري. ولكن كيف تبدأ في ذلك؟ وما هي الخطوات التي يجب عليك اتباعها لتبدأ باستخدام البريد الإلكتروني بشكل صحيح وضمان نجاح حملتك التسويقية؟ في هذا الدليل الإرشادي، سنتكلم عن الخطوات التي ستبدأ من خلالها التسويق عبر البريد الإلكتروني لتضمن بذلك نجاح حملتك الأولى. الخطوة 1: حدد أهدافك قد يكون التسجيل في أحد أدوات التسويق عبر البريد الإلكتروني مثل Campaign Monitor والبدء بإرسال رسائل حملتك الأولى أمرًا مغريًا جدًّا. ولكن قبل البدء بذلك، من المفيد أن تفكّر ولو قليلًا بالأهداف التي ترغب في الوصول إليها وما تريد تحقيقه من هذه الحملة، لأنّ ذلك سيرشدك إلى طبيعة الحملة التي تنوي إطلاقها، والجمهور المستهدف، والمحتوى الذي ستتضمنه، بالإضافة إلى طريقة قياس النجاح الذي تحقّقه هذه الحملة. والمفتاح الأساسي لوضع الأهداف الصحيحة لحملة التسويق عبر البريد الإلكتروني يكمن في جعل هذه الأهداف موازية للأهداف التسويقية العامة للشركة ولـمؤشر الأداء الرئيسي Key performance indicator KPI. هل الهدف من هذه الحملة هو جلب المزيد من عمليات التسجيل لمنتجك؟ أم الحصول على عملاء محتملين جدد لفريق المبيعات؟ أم زيادة عدد الحضور للفعّالية التي ستقيمها قريبًا؟ أم الحصول على المزيد من التبرعات لمشروعك التجاري؟ يعدّ التسويق عبر البريد الإلكتروني من أقوى القنوات التي توصلك بالجمهور، ويمكن استخدامه لتحقيق عدد كبير من الأهداف، ولكن يجب عليك التفكير بما تريد تحقيقه عبر هذه القناة قبل الولوج إليها. ولمساعدتك على تحديد أهدافك، إليك بعض الأمثلة لعملاء Campaign Monitor الذين يستخدمون التسويق عبر البريد الإلكتروني: Buzzfeed: يحصل موقع الأخبار والترفيه هذا على عائدته عن طريق بيع الإعلانات، لذا فإنّ الهدف الرئيسي لفريق التسويق الخاصّ بهذا الموقع هو جذب أكبر عدد من الزوار، وعلى هذا الأساس يرسل الموقع رسائل إلكترونية دورية تحتوي على روابط لآخر وأهمّ الأخبار المنشورة في الموقع والهدف من ذلك هو زيادة عدد الزيارات الشهرية للموقع بهدف الحصول على أكبر قدر من العائدات. Rip Curl: تأتي عائدات هذه العلامة التجارية العالمية والمتخصصة في معدّات السباحة وركوب الأمواج من بيع بدلات السباحة ومعدّاتها وغير ذلك من أدوات ركوب الأمواج. والهدف الذي يسعى إليه فريق التسويق هو زيادة المبيعات، لذا يستخدم الفريق البريد الإلكتروني في الترويج للمنتجات الجديدة التي تطلقها الشركة في محاولة منه لجذب المزيد من الأشخاص إلى متاجرهم الإلكترونية أو الحقيقية لشراء هذه المنتجات. Unicef: تقدّم هذه المنظمة العالمية المساعدات الإنسانية إلى الأمّهات والأطفال في الدول النامية، ويرتبط نجاح فريق التسويق الرقمي الخاصّ بهذه المنظمة بالتبرعات، لذا يستخدم الفريق التسويق عبر البريد الإلكتروني للوصول إلى المتبرعين وزيادة وعي الجمهور حول المشاريع التي تطلقها المنظمة وكذلك لجمع التبرعات. SXSW, Inc: تقيم هذه المنظّمة بعض الفعّاليات المعروفة حول العالم، ومنها مهرجانات الأفلام والموسيقى التي تقام سنويًا في أوستن بولاية تكساس الأمريكية. ويهدف فريق التسويق إلى زيادة مبيعات التذاكر بالإضافة إلى زيادة عدد الحضور في الفعاليات التي تقيمها المنظّمة، ولتحقيق هذا الهدف يستخدم الفريق حملات التسويق عبر البريد الإلكتروني لإطلاع المشتركين أولًا بأول على مستجدّات الفعّاليات التي تقيمها المنظمة. Soho House: وهو من الأندية المرموقة التي يرتادها مشاهير الفنّ والإعلام حول العالم، ويهدف فريق التسويق في هذا النادي إلى أن ينخرط أعضاؤه في النشاطات التي يقيمها بشكل مستمر، لذا يستخدم فريق التسويق في هذا النادي حملات التسويق عبر البريد الإلكتروني لإطلاع الأعضاء أولًا بأول على الأنشطة والفعاليات التي يمكنهم الانضمام إليها. كما ترى في هذه الأمثلة، فإنّ معرفة الهدف الذي ترغب في الوصول إليه من الرسائل الإلكترونية قبل البدء بإرسالها يسهّل عليك معرفة المحتوى الذي سترسله في هذه الرسائل والجمهور المستهدف، ويساعدك كذلك على إطلاق حملات تسويق مركّزة وعالية الأداء تضمن لك تحقيق أهدافك التسويقية. الخطوة 2: بناء القائمة البريدية بعد أنّ قمت بتحديد الأهداف التي ستتوخّاها من الحملة البريدية، يأتي وقت بناء القائمة البريدية لتبدأ بعدها بإرسال رسائل حملتك التسويقية، وهناك طرق متعددة لبناء القائمة البريدية، إلا أنّ الطريقة الصحيحة لكل حملة تعتمد بشكل كامل على الأهداف التي وضعتها في الخطوة الأولى. استيراد قائمة جهات الاتصال إن كنت تخطط لاستخدام البريد الإلكتروني في التواصل مع عملائك الحاليين، فبإمكانك الاعتماد بشكل كبير في بناء قائمتك البريدية على استيراد هذه المعلومات إلى الأداة التي ستستخدمها في بناء الحملة التسويقية. إن كنت تستخدم Campaign Monitor فيمكنك رفع قائمة موجودة لديك (من ملف Excel مثلًا) أو ربط حسابك في الموقع مع أي أداة تستخدمها في إدارة معلومات الاتصال الخاصّة بعملائك (مثل نظام إدارة علاقات العملاء CRM، المحاسبة، أداة التجارة الإلكترونية eCommerce وغيرها الكثير) لمزامنة معلومات العملاء مع حسابك في Campaign Monitor. ولكن قبل أن تشرع في استيراد معلومات الاتصال بعملائك، تأكّد من أنّك قد حصلت على التراخيص المطلوبة لإرسال الرسائل إليهم. ابن قائمتك البريدية من الصفر إذا كنت تخطط للتواصل مع جمهور لا تمتلك عناوين بريده الإلكتروني، ستحتاج إلى الحصول على هذه العناوين وبناء القائمة البريدية من الصفر. هناك معادلة مكوّنة من جزئين لبناء القائمة البريدية، ويتّبع هذه المعادلة الكثير من المسوقين الناجحين، وهذه الصيغة هي: حافز جيد + فرص اشتراك بسيطة = قائمة بريدية كبيرة مع أنّ هذه الصيغة تبسّط الأمور إلى حدٍّ ما، إلا أنّها منطقيّة كذلك، فبغض النظر عن عدد فرص الاشتراك التي توفّرها للزائر، فمن غير المحتمل أن يتّخذ الزائر أي إجراء من دون وجود حافز جيّد، ومهما كان الحافز الذي تقدّمه جيدًا، يجب عليك تسهيل عملية الاشتراك إن كنت ترغب في أن ينضمّ الناس إلى قائمتك البريدية. قد تتساءل الآن: ما الذي يصنع الحافز الجيّد؟ وكيف يمكن جعل عملية الاشتراك في القائمة البريدية أبسط وأسهل؟ نقدم إليك هنا بعض الأفكار التي يمكنك الاستفادة منها في تحفيز الناس على الاشتراك في قائمتك البريدية: محتوى جذّاب: إن كنت تدير مدوّنة أو تنشر محتوى معيّنًا في موقعك، يمكنك أن تعرض إرسال أفضل ما تقدّمه في الموقع إلى المشتركين عبر البريد الإلكتروني، وسيقّدم هذا العرض حافزًا كبيرًا للانضمام إلى قائمتك البريدية. حسومات لأول عملية شراء: إن كنت تبيع المنتجات في متجر إلكتروني، يمكنك أن تعرض تقديم حسومات على عملية الشراء الأولى في حالة الاشتراك في القائمة البريدية، ويوفّر هذا العرض حافزًا قويًا يدفع إلى الاشتراك في القائمة البريدية، بالإضافة إلى أنّه حافز قويّ أيضًا للشراء. الشحن المجّاني أو السريع: يمكنك تقديم عرض بشحن البضائع مجّانًا أو عبر الشحن السريع وذلك لتحفيز الناس على الانضمام إلى قائمتك البريدية، فلا شيء أكثر تحفيزًا للاشتراك في القائمة البريدية من إيصال البضائع التي يطلبها العملاء إلى أيديهم في أسرع وقت ممكن. يتضمن الجزء الثاني من المعادلة تقديم عدد من وسائل الاشتراك البسيطة والسهلة، فهذا يجعل عملية الاختيار أكثر سهولة ويسرًا، ويعتمد نوع نموذج الاشتراك على الحافز الذي تقدّمه، وفيما يلي بعض الأفكار المفيدة: الترويسة Header Bar الترويسة هي الجزء العلوي من صفحة الموقع الإلكترونية، وتحتوي على دعوة للإجراء تحث الناس على الانضمام إلى القائمة البريدية بالإضافة إلى نموذج لإدخال عنوان البريد الإلكتروني. يمكن لمستخدم Campaign Monitor إضافة الترويسة إلى موقعه بسهولة باستخدام أدوات مثل Hello Bar و SumoMe، وتتم إضافة أي عنوان بريد إلكتروني يدخله المستخدمون عبر هذا النموذج إلى القائمة البريدية الخاصّة بالمستخدم في حسابه على Campaign Monitor بشكل تلقائي. صندوق منزلق Slider Box يمكن استخدام صندوق منزلق في الموقع يدخل إلى الشاشة من الجهة السفلى، ويحتوي على دعوة للإجراء تحثّ زوّار الموقع على الاشتراك في القائمة البريدية، بالإضافة إلى أنّه يوفّر حقلًا خاصًّا بكتابة عنوان البريد الإلكتروني. يمكن استخدام العديد من الأدوات لإنشاء مثل هذا الصندوق، نذكر منها Scroll Box (وهي جزء من مجموعة أدواة SumoMe). تساعد هذه الأداة البسيطة على تخصيص وإدراج الصندوق المنزلق في موقعك الإلكتروني حيث يرتبط بشكل مباشر مع Campaign Monitor لإدراج أي عنوان بريد إلكتروني تلتقطه في قائمتك البريدية. باتباعك لمعادلة بناء القائمة البريدية عن طريق تقديم حافز جيد ووسيلة اشتراك سهلة وبسيطة، ستجد أن الحصول على جمهور جديد يتلقّى رسائل حملة التسويق الخاصّة بك سيكون أمرًا سهلًا وبسيطًا. الخطوة 3: اختر نوع الحملة التي ترغب في إرسالها هناك أنواع مختلفة من حملات التسويق عبر البريد الإلكتروني والتي يمكنك إرسالها إلى المشتركين، وتعتمد طبيعة الحملة على الأهداف التي وضعتها في الخطوة الأولى. لنلقِ نظرة على الأنواع المختلفة من الحملات ونتعرف معًا على كيفية الاستفادة من كل نوع في تحقيق أهدافك من حملة التسويق الخاصّة بك. النشرات Newsletters النشرة البريدية عبارة عن حملة بريدية يتم إرسالها إلى المشتركين بشكل دوري، ويتم التركيز فيها على موضوع رئيسي واحد. على سبيل المثال ترسل AirBnB بشكل دوري نشرات بريدية رائعة إلى شبكتها من المصورين الفوتوغرافين المستقلين. كما ترى، يتم إرسال النشرة البريدية شهريًا، وتتضمن النشرة مواضيع ذات سمة ثابتة وهي قصص ونصائح في التصوير الفوتوغرافي. إن كان هدفك هو التواصل المستمر مع عملائك الحاليين فالنشرة البريدية هي النوع الأمثل من الحملات التي يمكنك الاستفادة منها، حيث تساعد هذه النشرات في تذكير المشتركين بالمنتجات التي تقدّمها إضافة إلى دفعهم إلى زيارة موقعك الإلكتروني مرة بعد أخرى. عروض تسويقية الهدف الأساسي من هذا النوع من الحملات هو الحصول على استجابة مباشرة من قبل العملاء، وتتّخذ هذه الحملات أشكالًا مختلفة مثل: استعراض بعض المنتجات الجديدة وحثّ المشتركين على شراءها. تقديم حسومات أو عروض خاصّة على المنتجات أو الخدمات. هذا الرسالة التي ترسلها Pizza Hut إلى مشتركيها هي من أفضل الأمثلة على حملات العروض التسويقيّة: تعرض الحملة إحدى المنتجات التي تقدّمها سلسلة المطاعم الشهيرة وبسعر خاصّ، وتتضمن الرسالة أيضًا دعوة إلى الإجراء متمثّلة بزرّ "اطلب الآن" الأخضر. يعدّ هذا النوع من العروض فعّالًا إن كان الهدف من الرسائل الإلكترونية هو زيادة المبيعات بشكل مباشر، حيث تعرض هذه الرسائل منتجًا معيّنًا أو حسومات على أسعار بعض المنتجات وتتضمن كذلك دعوة مباشرة إلى الإجراء لزيارة الموقع الإلكتروني وشراء تلك المنتجات. الإعلان حملات الإعلان هي رسائل إلكترونية يتم إرسالها إلى المشتركين للإعلان عن منتج أو خاصية أو خدمة جديدة. هذه الرسالة الإلكترونية من الأمثلة الجيّدة على حملات الإعلان حيث تعلن خدمة Showtime إطلاق برنامج Penny Dreadful الجديد. هذا النوع من الحملات مثالي في الحالات التي ترغب أن تطلع فيها عملاءك الحاليين على آخر المستجدات بخصوص المنتجات والمزايا التي تقدّمها إليهم. وعلى الرغم من أن الهدف الرئيسي من هذه الرسائل هو مشاركة المعلومات مع المشتركين في القائمة البريدية، إلا أنّ هذه الرسائل يمكن أن تتّسم بقيمة مضافة ألا وهي جذب الناس إلى متجرك أو موقعك الإلكتروني حيث يكونون قادرين على شراء تلك المنتجات. الدعوة إلى حضور الفعاليات يستخدم هذا النوع من الحملات في توعية الناس حول الفعّاليات المقامة ودعوتهم إلى حضورها، وفيما يلي مثال رائع من شركة Lincoln Motors. كما ترى فإن المشتركين مدعوون إلى فعّالية إطلاق سيارة MKX 2016، وتتضمن الرسالة تفاصيل عن تاريخ وموعد وموقع إقامة الفعّالية، بالإضافة إلى بعض المعلومات حول كيفية تأكيد الاستجابة لهذه الدعوة. وكما ذكرنا سابقًا، فإن طبيعة حملة البريد الإلكتروني التي ترسلها تعتمد بشكل كامل على الأهداف التي وضعتها من هذه الحملة، فإن كنت تهدف إلى الحصول على مبيعات مباشرة فإرسال العروض التسويقية وحملات الإعلان سيعود عليك بأفضل النتائج، أما إن كان الهدف هو إطلاع عملائك الحاليين على آخر المستجدات المتعلّقة بمشاريعك الحاليّة، أو منتجاتك الأخيرة، أو ربّما آخر التطورات في شركتك، فالنشرات البريدية الدورية هي الوسيلة المثلى لتحقيق هذا الهدف. يمكنك مراجعة المقال كيف تهيكل رسائل الدعوة لحضور الفعاليات التي تنظمها شركتك لتكون أكثر جذبا للقراء للحصول على أفضل النتائج. سنكمل باقي الخطوات في الجزء القادم من هذا المقال، حيث سنتطرق إلى كيف تطلق حملتك التسويقية الأولى عبر البريد الإلكتروني. ترجمة -وبتصرّف- للمقال Getting Started with Email Marketing.
  3. ربما تكون قد أرسلت رسالة دعوة email invite لحدثٍ أو أثنين. ومن المحتمل أن تكون استقبلت العديد من هذه الرسائل في صندوق بريدك الإلكتروني- حيث أنّ عدد رسائل البريد الإلكتروني المرسلة والمستقبلة في عام 2014 قُدّر بـ 191 مليار رسالة. ولكن هل تساءلت يومًا عن عناصر رسائل الدّعوة email invite التي تجذب انتباه الناس وتشدّهم إلى التمعّن في محتوى الرسائل؟ سأستعرض معكم في هذا المقال أربع رسائل دعوةٍ لعدّة مشاريع تجارية قمنا بانتقائها من معرض تصميم رسائل البريد الإلكتروني لدينا وقمنا بتحليلها من حيث معدّل التّحويل Conversion Rate، حيث قمنا بتحديد العناصر الجيّدة التي تضمّنتها رسائلهم وعرضنا بعض الاقتراحات عن كيفية تحسين هيكلية الرسائل، بهدف أن نعطيكم بعض الأفكار التي يمكنكم تطبيقها على رسائل الدّعوة للحدث القادم لديكم، الأمر الذي سيزيد من مبيعات التّذاكر والحضور. المثال الأول العناصر الجيدة التي تضمنتها الرسالة التّصميم والصور: يبدو تصميم الرسالة ممتعًا وجذّابًا. أيضًا نمط الخط والصّور في أعلى الرسالة، الأمر الذي يدفع القارئ إلى الاستمرار في قراءة باقي محتوى الرسالة للحصول على معلوماتٍ أكثر. الفقرة الافتتاحية: استخدام عبارة "ومديرو منطقة خليج تامبا الآخرين" هو إضافةٌ رائعة. على افتراض أنّ هذه الرسالة أُرسلت فقط إلى المشاريع التّجارية في منطقة خليج تامبا، فهي تُخاطب القرّاء مباشرةً وتُشعرهم بأنّ هذا الحدث مناسبٌ جدًا لهم. حدثٌ للمدعوين فقط invite-only event: تخلق طبيعة أنّ الحدث للمدعوين فقط شعورًا بالخصوصيّة والتفرّد، الأمر الذي يدفع الناس للحضور واكتشاف الرؤى الحصرية والمعلومات التي يمكن أن يحصلوا عليها والتي سوف تساعدهم على تخطّي منافسيهم. الخريطة: يساعد تضمين الخريطة المصمّمة بشكلٍ جيّد في أسفل الرسالة الناس على معرفة مكان الحدث، ويوفّر عليهم عناء الحسابات التي تدور حول كم سيستغرقون من وقتٍ لكي يصلوا لمكان الحدث ولكي يعودوا لعملهم بعد انتهاءه. بعض الاقتراحات لتحسين الرسالة تحسين هيكل الرسالة: على الرّغم من أنّهم قاموا بفصل المنطقة العلوية عن باقي الرسالة، إلّا أنّ متن الرسالة احتوى على كتلٍ نصّيةٍ كبيرة إلى حدٍ ما، الأمر الذي يمكن أن ينفر منه القارئ. وحيث أنّ معظم الناس سيقومون فقط بالتفحّص السريع لرسائل الحملات التّسويقية، فكان من الأولى تقسيم الرسالة إلى فقراتٍ صغيرةٍ تصف المُتحدّثة في هذا الحدث، ما ستقوم بمناقشته، الجدول الزمني للحدث وخيارات الإفطار المعروضة. هذا سيمكّن القرّاء من فهمٍ أعمقٍ للمعلومات التي تتضمنها هذه الفقرات الصغيرة وتحمّسهم لما يتم عرضه عليهم. أخبر القارئ باستفاضةٍ أكثر عن المتحدّثة: قام منظمو الحدث بدعوة بمتحدّثةٍ ذات خبرةٍ واسعة في مجال العلاقات العامّة PR، ومع ذلك لم يقوموا بإخبار القارئ بالشكل الكافي عن خبراتها. فكان من الأولى تضمين معلوماتٍ أكثر عن المتحدّثة وإنجازاتها للمساعدة في بناء موثوقيّتها عند القارئ. فإبراز العملاء التي تعاملت معهم من قبل والنتائج التي حقّقتها سيزيد من شغف القارئ للاستزادة من معرفتها وخبراتها التي تمتلكها ويزيد من فرُص حضوره للحدث. أضف زرًا بارزًا للدّعوة إلى إجراء: الدّعوة إلى إجراء call to action في هذه الرسالة عبارة عن رابط نصّي صغير للردّ على منظم الحدث والرّد على الدّعوة RSVP . كان من الأولى اختبار إضافة زر دعوة إلى إجراء أكثر بروزًا إلى هذه الرسالة، وربطه من خلال صفحة هبوط الحدث. فأدواتٌ مثل Eventbrite و unbounce تجعل إضافة مثل هذه الأزرار أمرًا يسيرًا، الأمر الذي يسّهل على الناس أن يقوموا بالرّد على الدّعوة للحدث ويزيد من فُرص حضورهم. المثال الثاني العناصر الجيدة التي تضمنتها الرسالة تصميمٌ جيّد: يبدو تصميم الحملة رائعًا من النّاحية البصرية ويبعث على شعورٍ بالثقة والمسؤولية في منظم الحدث. الأمر الذي يؤكد للقارئ أنّ المعلومات التي سيحصل عليها من الحدث هي معلوماتٌ موثوقةٌ ونافعة، ويزيد من رغبته في الحضور. الإشارة إلى التّسلسل: يخبر هذا الأمر القارئ أن سلسة المناقشات "Discussion Series" هذه أمرُ قائمٌ منذ بعض الوقت. الأمر الذي يُظهر جدّيّة الحدث ويُزيل أيّة شكوك تُراود عقل القارئ حول النفع العائد عليه من حضوره للحدث. بعض الاقتراحات لتحسين الرسالة تحسين قيمة العرض Value Proposition: كما ترون في رسالة الدّعوة، فقيمة العرض الأساسية في هذه الرسالة هي "الاستراتيجية الاجتماعية والسوشي". بينما يبدو هذا عنوانًا جذّابًا بشكلٍ ما، فليس واضحًا للقارئ ما يمكنه الحصول عليه من الحدث ولما ينبغي عليه الحضور من الأساس. فكان من الأولى إعادة كتابة قيمة العرض لكي تتضمّن العناصر الثلاثة المحوريّة لقيمة العروض المؤثّرة، ونقوم باختباره لنرى إن كانت قيمة العرض الجديدة ستدفع الناس إلى القيام بأي إجراءٍ نحو حضور الحدث. أضفْ شهادة من سبق له الحضور للحدث: حيث أنّ هذا الحدث هو جزءٌ من سلسة فعاليّاتٍ أكبر، فكان من الأولى عرض تجربة أحد الأشخاص الذين حضروا الأحداث السابقة. فهذا سيُزيل مخاوف القارئ حول ما إذا كان الحدث قيّمًا، ويشجّعه على الحضور. أضفْ الدّعوة إلى إجراء بشكلٍ أكثر بروزًا: كما كان الحال في الرسالة السّابقة التي تحدّثنا عنها، فالدّعوة إلى إجراء في هذه الرسالة هي رابطٌ نصّي صغير للرد على منظم الحدث عن طريق البريد الإلكتروني. لكن تحويل هذا الرابط إلى زر دعوةٍ إلى إجراء مربوطٌ بصفحة هبوط، يُسهّل الأمر على الناس للرد على الدّعوة وسوف يساعد في زيادة نسبة الحضور. أزلْ أزرار تويتر وفيس بوك: أزرار تويتر وفيس بوك في أسفل الرسالة تُشتّت القارئ عن الإجراء الأساسي الذي تريد شركة W3 الناس أن يقوموا به، ألا وهو الاستجابة والحضور للحدث. لذا كان من الأولى إزالة هذه الأزرار لتقليل التّشتت والمحافظة على تركيز القارئ على الإجراء الأساسي. المثال الثالث العناصر الجيدة التي تضمنتها الرسالة تصميمٌ فريد للعلامة التّجارية: التّصميم الفريد للرسالة والتّناسق المحكم مع موقعهم وعلامتهم التّجارية يخلق تجربةً مكتملةً للعملاء المستمرين في إخلاصهم لهذا المنتج. جذب فضول القارئ بشكلٍ رائع: سوف تلاحظ أنّ الرسالة تحتوي على معلوماتٍ أقل عن الحدث من تلك التي تضمّنتها هذه القائمة. فمطعم Hidden Dinner يخلق حالةً من الفضول والتّرقب بحجب بعض المعلومات المتعلّقة بقائمة الطعام، الفقرات التّرفيهية، إلى آخره. الأمر الذي يدفع القارئ للنقر على رابط "شاهد قائمة الطعام وأحجز مقعدك" لكي يعرف أكثر. ولكن بينما تعتبر هذه طريقةً ذكيّة من قِبل المطعم، إلّا أنّه يجب توخّي الحذر عند استخدام هذه الطريقة في رسائل حملاتك. فهذا المطعم أنشأ لنفسه علامةً تجاريةً ويقوم فقط بإرسال هذه الّدعوات إلى العملاء ممن يعرفون مدى أهمّية فعالياتهم، لذا ينجح الأمر معهم. مع ذلك، إن لم يكن العملاء في قائمتك البريدية على درايةٍ بالأحداث التي تنظّمها، فسوف تحتاج أن "تبيعهم" الحدث بتضمين معلوماتٍ عن الطعام، الفقرات التّرفيهية، المتحدّثون، إلى آخره. إنشاء دعوة إلى إجراء رائعة: إنشاء الدّعوة إلى إجراء "شاهد قائمة الطعام وأحجز مقعدك" المستخدمة في هذه الرسالة معبّرةٌ بشكلٍ كبير وتُزيل شكوك القارئ عن ماهيّة الحدث وما سوف يحدث عندما يقوم بالنقر عليها. الانسيابية الرائعة في الرّد على الدّعوة RSVP Flow: النقر على رابط الدّعوة إلى إجراء في أسفل الرسالة يذهب بالقارئ إلى صفحة هبوطٍ موسومة بعلامتهم التّجارية. بمجرد أن يُدخلوا كلمة السر، يصبح بإمكانهم رؤية قائمة الطعام وحجز المقاعد للحدث. يسمح هذا التّدفق الانسيابي للناس بالرّد وحجز تذاكرهم بسهولة، ويساعد على زيادة مبيعات التّذاكر وعدد الحضور. بعض الاقتراحات لتحسين الرسالة أضفْ قيمة العرض بشكلٍ بارز: تم تضمين الشعار الخاص بالمطعم بشكلٍ رائع في بداية الرسالة، ولكن تم إقحامه في متن نسخة الدّعوة. على الرّغم من ضيق مساحة النّسخة، كان بنبغي إدراج قيمة العرض بشكلٍ بارز كي يُفصّل العرض والنفع العائد على القارئ، فكان يُمكن إدراج "استمتعوا بِشواء تحت النجوم". هذه الأمور تجذب انتباه الناس وتدفعهم إلى الاستمرار في قراءة باقي الرسالة لكي يعرفوا أكثر. اختبر إضافة شهادة من سبق له الحضور للحدث: Hidden Dinner "العشاء الخفيّ" هو حدثٌ مستمرٌ وتمت إقامته عدة مراتٍ من قبل، لذا كان من الأولى تضمين شهادة من أحد الأشخاص الذين سبق لهم حضور أحد الأحداث السّابقة. الأمر الذي سوف يؤكد للقرّاء أنّها أُمسية ممتعة وتستحق وقت حضورهم. أضفْ الدّعوة إلى إجراء بشكلٍ أكثر بروزًا: على الرّغم من إتقان كتابة إنشاء الدّعوة إلى إجراء في هذه الرسالة، فهي ما زالت رابطًا نصّيًا صغيرًا مخفيًا في أسفل الرسالة. ولكن أستبدال هذا بزر دعوة إلى إجراء بلونٍ بزر دعوة إلى إجراء بلونٍ عن لون الخلفية والنّص، يجعل الأمر أكثر وضوحًا للقرّاء الذي يتفحّصون حملاتك البريدية بسرعة Scanners، ويشجّع عددًا أكبر على النقر عليه. المثال الرابع العناصر الجيدة التي تضمنتها الرسالة التّصميم والصور: الرسالة نفسها مصمّمةٌ بشكلٍ رائع. الرسوم المتحركة خلف الصورة العلوية أمرٌ ذكي واستخدام الصور الجميلة خلف كلّ مربع أمرٌ مدهش حقًا. فكلّ واحدةٍ من هذا الصور مربوطةٌ إلى صفحة الرّد على الدّعوة أيضًا، الأمر الذي يزيد من معدّل تحويل القرّاء. زرٌ كبير للّدعوة إلى إجراء: استخدام هذا الزر الكبير في اسفل الرسالة أمرٌ رائع، ويوضّح للقرّاء خطوتهم التّالية. الانسيابية الرائعة في الرّد على الدّعوة RSVP Flow: زر الدّعوة إلى إجراء والصور المربوطة إلى نموذج بسيط للرّد على الدّعوة على موقعهم الإلكتروني، يجعل من السهل على الناس أن يستجيبوا لدعوة الحدث. بعض الاقتراحات لتحسين الرسالة أضف قيمة العرض المناسبة: قيمة العرض Value Proposition الحالية في هذه الرسالة هي "اليوم المفتوح، يوم الجمعة الثالث من مايو في السابعة مساءً". وبينما يبدو هذا أمرًا جيّدًا حيث يخبر القرّاء بميعاد الحدث، إلّا أنّه لم يُثِر شغفي للحضور. لكن إضافة قيمة العرض التي تحدد ماهيّة الحدث وكيف سأستفيد من حضوري، سيساعد في جذب انتباه القرّاء، يدفعهم إلى قراءة باقي محتوى الرسالة ويقنعهم باتّخاذ إجراء التّحويل. أضف تفاصيل أكثر عن الحدث: بالرّغم من أنّ الرسالة مصمّمةٌ بشكلٍ رائع، إلّا أنّها تفتقر إلى كثيرٍ من التّفاصيل حول الحدث نفسه. ماذا يحدث في هذه الفعالية؟ من سوف أقابل؟ هل هناك متحدّثٌ أو نوعٌ من التّرفيه؟. فأنا كقارئ، لم أجد الإجابة عن العديد من الأسئلة حول الحدث، الأمر الذي قد يُشجّعني على الحضور. هذا ما لم تكن هذه الفعالية منتظمة الحدوث وكلّ من في القائمة البريدية على دراية بماهيّتها. كان من الأفضل أيضًا تضمين تفاصيل اكثر عن جدول الأُمسية والنفع العائد على الحضور. ما يمكن أن نتعلمه من هذه النماذج أثناء تفصيلنا لهذه الرسائل، رأينا عددًا من الأشياء التي تمت بشكلٍ جيّد وعددًا من المناطق التي تحتاج إلى تحسين الهيكلية. وإليكم أهم العناصر الشائعة التي يمكنكم تضمينها ضمن رسائلكم لكي تساعدكم على زيادة معدّل التّحويل في حملتكم القادمة: اجعل التصميم جميلًا: كلّ رسائل الدّعوة التي رأيناها مصمّمةٌ بشكلٍ جيّد وتحتوي على صور رائعة. فالانتباه إلى هذه التّفاصيل ينعكس إيجابيًا على الحدث الذي تنظّمه ويزيد ثقة الناس في أنّ الحدث سيُدار بشكلٍ جيّد، وسيكون ذا نفعٍ ويستحق الحضور. أضفْ قيمة عرض واضحة: تأكّد من أن تبدأ رسالة الدّعوة بقيمة عرض مقتضبة توضّح للقارئ ما سيحدث في الفعالية وما النفع العائد عليه من الحضور. وبهذا تجذب انتباه القارئ إلى المعرفة أكثر عن الحدث وبالتالي دفعه إلى الحضور. أضف ما يُمكّنك من بيع الحدث: حتّى وإن كان الحدث مجانيًا، فما زال الناس يدفعون من وقتهم للحضور، لذا عليك بيع الحدث كما لو كنت تبيع مُنتجًا. أضف تفاصيل حول ما سيتم في الحدث والنفع العائد من الحضور كي تدفع الناس إلى الاستجابة لدعوتك. قم بهيكلة الرسالة للقرّاء المتفحّصين Scanners: يستقبل الناس يوميًا في المتوسّط 121 رسالة بريد إلكتروني، ولا يملكون الوقت لقراءة كلٍّ منهم كلمةً بكلمة. عوضًا عن ذلك يقومون بالتفحّص السريع لرسائل الحملات التّسويقية باحثين عن الأجزاء التي تثير اهتمامهم. لذا بدلًا من أن تكتب كتلةً نصّية كبيرة لتتضمن كلّ المعلومات، قم بتقسيمها إلى فقراتٍ صغيرة مدعومةً بالصور. هذا الأمر يسهّل على القرّاء تفحّص رسالتك وستقوم بإيصال الهدف المنشود من حملتك إلى القرّاء وتدفعهم إلى الحضور. للمزيد حول الأمر راجع هذا المقال: كيف تعيد هيكلة رسائل حملات التسويق من أجل القراء المتفحصين؟ استخدم زر الدّعوة إلى إجراء: عندما قمنا باختبار استخدام الأزرار عوضًا عن الروابط النّصية كدعوة إلى إجراء في حملاتنا البريدية، حصلنا على زيادة بنسبة %28 في معدّلات التحويل. فالأزرار تساعد الدّعوة إلى إجراء CTA الخاصّة بك في البروز أمام باقي محتوى الرسالة، حيث توضّح للقرّاء ما هي الخطوة التالية وتدفعهم إلى القيام بالإجراء الذي ترغب فيه. فكّر في الانسيابية الكلّية لهيكل الرسالة: هناك العديد من الخطوات بين إرسالك لرسالة الدّعوة وحضور الناس إلى الحدث، مما يعني أنّ هنا متّسعٌ من الفرص لكيلا يرغب الناس في الحضور. ولكن بخلق رابط بسيط ومؤثر للرّد على الدّعوة كما فعلت كلٌّ من Hidden Dinner و Steadfast Creative، فيمكنك الحصول على ردود أكثر على الدّعوة وحتمًا عدد حضورٍ أكبر. خلاصة القول الحملات الدعائية للفاعليات التي تنظمها هي جزءٌ هامٌ جدًا من تسويقك وتخطيطك للحدث. فهي طريقةٌ رائعة لنشر الحدث بين عملائك، وتساعدك في زيادة مبيعات التّذاكر وجذب عددٍ أكبر من الحضور. لذا عليك بوضع هذه النصائح حول كيفية هيكلة رسالة دعوة رائعة محلّ اهتمامك، وتطبيقها على حملتك القادمة وأعلمنا كيف سار الأمر! والآن حان دورك: ما هي النصائح والحيل التي تستخدمها عند إرسالك رسائل دعوة للفاعليات الخاصّة التي تنظمها؟ شاركنا الطرق التي نجحت معك في التعليقات! ترجمة -وبتصرّف- للمقال Four 4 event invite emails you can learn from لصاحبه Aaron Beashel. حقوق الصورة البارزة: Designed by Freepik.
  4. تتميز خدمة Google Analytics بروعة أدائها في تتبع حركة مرور زوار موقع ما، دون الحاجة إلى أي إعدادات أو إضافات، إلا أنها لا تتتبع تحميل الملفات مثل: ملفات PDF ،MP3، مستندات Word أو مقاطع الفيديو نظرا لاعتمدها على JavaScript. آخِذِينَ ما سبق بعين الاعتبار، سنتطرق وإياكم في هذا الموضوع إلى كيفية استخدام الأحداث (events) في Google Analytics بغرض تتبع تحميل الملفات. سنتطرّق بشكل سريع إلى بعض الطّرق التي تصلح على جميع المواقع ثم سنختم بمجموعة مُلحقات خاصة بووردبريس. ما يجب أن تعرفه قبل الشروع في العمل بحكم أنّك تقرأ هذا الموضوع، سنفترض أنك تملك مسبقا حساب Google Analytics جاهزا للعمل، إن كنت حديث العهد بهذه الخدمة فمن الأفضل أن تلقي أوّلًا نظرة على سلسلة مدخل إلى Google Analytics هنا على أكاديمية حسوب. يجب عليك أيضا أن تتأكد من استخدامك لأحدث نسخة Universal Analytics من شفرة التتبع (tracking code)، سنفترض أنك فعلا تستخدمها، أما إن كنت بحاجة إلى ترقية نسخة السكربت، يوفر لك جوجل كما هائلا من الموارد لمرافقتك في تطبيق مختلف الخيارات خلال كل مراحل عملية الترقية. استعمال الأحداث (Events) في Google Analytics يعمل جوجل على توفير طريقة أكثر مرونة لقياس تفاعل المستخدمين مع موقعك وذلك من خلال الأحداث (Events) في خدمة Analytics دون الحاجة إلى التقيد بشكل كامل بعدد الزيارات (page loads). يمكنك الولوج إلى الأحداث (Events) على حسابك من خلال الذهاب إلى تبويب Reporting ثم اختيار Behavior < Events. قسم Events في Google Analytics قبل تفعيله يتميز تصميم الأحداث (Events) في Google Analytics بقابلية الإعداد والتهيئة حسب ما ترغب فيه، يتوفر كل حدث على أربع مكونات أساسية يمكنك التعديل عليها بكل حرية لتناسب احتياجاتك ومتطلباتك: Category (التصنيف): الوصف أو المصطلح الذي يعود على نوع محدد من الأحداث، يعطيك هذا الخيار إمكانية تجميع الأحداث المتشابهة مثلا الكتب الإلكترونية (e-book) أو ما كل ما يتعلق بمقاطع الفيديو. Action (الإجراء): النتيجة أو الهدف الذي ترغب في تَتَبّعَهُ، يمكن أن يكون تحميلا، ضغطة على زر مُعيّن أو أي نوع آخر من الإجراءات أو العمليات التي تود أن تستهدفها. Label (الوصف): يوفر لك خيار الوسوم هذا بعض المساحة الإضافية لإضافة أي معلومات أخرى قد تبدو لك ذات أهمية. هذا الحقل اختياري Value (القيمة): لنفترض على سبيل المثال أن العرض المجاني الذي تقدمه لزوارك مقابل التسجيل في موقعك هو تحميل كتاب إلكتروني ما ولنفترض أيضا أن معدل التحويل على هذا التحميل هو %10 من قيمة المنتوج التابع لهذا الكتاب والتي تبلغ 150 دولارا، يمكن إذا في هذه الحالة ربط كل تحميل بقيمة 15 دولارا. هذا الحقل اختياري أيضًا يمكنك الاطلاع على المزيد من التفاصيل فيما يخص الخيارات (options) المتوافرة لكل واحدة من المكونات السابقة على توثيق جوجل لأحداث خدمة Analytics. لننتقل الآن إلى الاستخدام الفعلي لخاصية الأحداث هذه بغرض تجميع البيانات. كيفية إنشاء حدث جديد قم أولا بتسجيل الدخول إلى حسابك، تحديد الموقع (من قسم property) ثم الضغط على رابط Admin أعلى الشاشة: اختر Goals من الخانات الثلاث الظاهرة. يمكنك الآن أن ترى ثلاث خانات كما في الصورة أعلاه، اضغط على رابط Goals في خانة View ثم New Goal لتبدأ بعملية الإعداد: إنشاء هدف الحدث (Event Goal) ما يأخذنا إلى الشاشة أعلاه حيث يمكن إدخال المعلومات التالية: name (الاسم) وgoal ID (المُعرف الخاص بالإجراء المستهدف) ثم اختر Event لتحديد نوع الإجراء المستهدف. إنشاء تفاصيل الإجراء المستهدف (goal) نصل أخيرا إلى مرحلة إدخال المكونات المشار إليها مسبقا، عند انتهائك من ذلك ومُراجعتك للإعدادات التي اخترتها ما عليك إلا أن تضغط Save لحفظ التغييرات ما ينهي هذه المرحلة من الإعداد. إضافة تتبع حدث (Event Tracking) أولي إلى الصفحة بعد الانتهاء من إعداد الحدث في خدمة Analytics، علينا الآن أن نصبح قادرين على تفعيله على الموقع، يعتبر استخدام حدث من نوع onclick أسهل طريقة لإضافة التتبع إلى صفحة معينة، حيث يتم إرسال المعلومات إلى Analytics بمجرد تفاعل المستخدم مع الإجراء المستهدف. على سبيل المثال، إذا أردنا تتبع أداء كتاب إلكتروني مجاني، يجب فقط إضافة الشيفرة التالية إلى الرابط المعني كما هو مبين أسفله: <a onclick="ga('send', 'event', 'Downloads', 'Click', 'E-book downloaded', '0');" href="http://mysamplesite.com/wp-content/uploads/2015/12/my-free-lead-magnet.pdf">Download Our Guide to Speeding up Your Site</a> يمكنك الاطلاع على التفصيل الكامل للمزيد من الخيارات على صفحة تتبع الأحداث (Event Tracking) في Google Developers. قد تكون إضافة هذا الكود يدويًا حلًا عمليًا لما يكون لديك حدث واحد لتتبّعه، أما إذا كنت ترغب في تتبّع العديد من الأحداث، فهنالك بعض الطرق البديلة التي يمكنك استخدامها. يُمكن مثلا الاستعانة بـ jQuery لإضافة آلية تتبّع الأحداث بشكل آلي، ويُمكن مثلًا أن نُحدّد الرّوابط التي نرغب في استهدافها عبر إضافة id خاص إليها. كما يُمكننا الاستعانة بـ Google Tag Manager لإدارة هذه الأحداث دون الحاجة إلى التّعديل على شيفرة الموقع. أما إذا كنت تستخدم ووردبريس كنظام إدارة مُحتوى على موقعك فهناك عدّة مُلحقات تسمح لك بالقيام بالأمر دون أيّ عناء. تتبع تحميل الملفات باستعمال ملحق ووردبريس إذا بدا لك أن ما أسلفنا الذكر من الطرق والتقنيات كثير التعقيد، فإليك مجموعة من الملحقات التي يمكنها أن تتكفل بتتبع وإدارة تحميل الملفات على ووردبريس، إليك فيما يلي ثلاثا من أكثرها شعبية وانتشارا: Google Analytics Dashboard for WP يعمل ملحق Google Analytics Dashboard for WP على إحضار بيانات موقعك مباشرة إلى ووردبريس كما يسمح لك بالاطلاع على المعلومات بخصوص التحميلات المسجلة كأحداث (events). تم تنزيل هذا المُلحق حوالي 600 000 مرة ويُقارب تقييمه الخمس نجمات. يعتبر هذا الملحق طريقة عملية لجلب قوة Analytics مباشرة إلى لوحة التحكم الخاصة بك. Download Monitor يَتَّبِعُ ملحق Download Monitor مقاربة مختلفة قليلا فيما يخص تحميل الملفات عن طريق وضعها على قدم المساواة مع المنشورات والصفحات على موقعك. يسمح لك هذا الملحق بتصنيف ووسم تحميلاتك، إضافة بيانات وصفية مخصصة لها فضلا عن تتبعها، كما يوفر خصائص متقدمة مثل التحميلات الخاصة بالأعضاء. يوفر الملحق أيضا مجموعة من الإضافات الرائعة إن أردت التحكم بشكل أفضل في تحميل الملفات على موقعك. WordPress Download Manager يوفر ملحق WordPress Download Manager خصائص عَدِّ التحميلات وإرسال التقارير إضافة إلى إمكانية الدمج السلس مع Google Drive ،Dropbox و Box.com كما توفر النسخة المدفوعة من الملحق الكثير من خيارات التجارة الإلكترونية. هل تقوم أنت بتتبع تحميل الملفات على موقعك؟ كيف تقوم بذلك؟ شاركنا في التعليقات أسفله نصائحك والحيل التي تتبعها كما يمكنك أن تطرح علينا أي أسئلة تراودك. ترجمة وبتصرف للمقال: Tracking File Downloads With Google Analytics And Wordpress لصاحبه: TOM EWER.
  5. تُسهّل jQuery الاستجابة لتفاعل المُستخدم مع صفحات الويب. معنى هذا أنّ بإمكانك تنفيذ أمرٍ ما عندما ينقر المُستخدم على جزءٍ مُعيّن من الصّفحة، أو عندما يُحرّك مؤشّر الفأرة فوق عنصر في نموذج مثلاً. في المثال التّالي، لدينا أمر يُنفَّذ عندما ينقر المُستخدم فوق أيّ عنصر قائمة في الصّفحة: $( 'li' ).click(function( event ) { console.log( 'clicked', $( this ).text() ); });جرّب المثال في ساحة التّجربة  (تأكد من ضغط الزرّ Run with JS في هذ المثال وكلّ الأمثلة التّالية) يُحدّد النّصّ السّابق كلّ عناصر القائمة ويُسند إليها دالّة تتولّى حدث النّقر على كلّ عنصر، باستخدام وظيفة ‎.click()‎ في jQuery. توفّر jQuery وظائف مُختصرةً عديدةً لربط الأحداث، وكلّ من هذه الوظائف يوافق حدث DOM أصليًّا: td {direction:ltr; }اسم الحدث الأصليّ                    الوظيفة المُختصرة‏click‎.click()‏keydown.keydown()‏keypress.keypress()‏keyup.keyup()‏mouseover.mouseover()‏mouseout.mouseout()‏mouseenter.mouseenter()‏mouseleave.mouseleave()‏scroll.scroll()‏focus.focus()‏blur.blur()‏resize.resize()تستخدم هذه الوظائف المُختصرة الوظيفة ‎.on()‎ ما وراء الكواليس، وهي وظيفة يمكنك استخدامها بنفسك لمرونةٍ أكبر. وعند استخدامك لها، فإنّك تُمرّر اسم الحدث الأصليّ كمُعامل أوّل للوظيفة، ثمّ دالّة تتولى الحدث كمعامل ثانٍ: $( 'li' ).on( 'click', function( event ) { console.log( 'clicked', $( this ).text() ); });جرّب المثال في ساحة التّجربة ما إن "تربط" مُتولّي الحدث بعنصرٍ من العناصر، فبإمكانك إثارة هذا الحدث بـjQuery أيضًا: $( 'li' ).trigger( 'click' );وإن كان للحدث الّذي تُريد إثارته وظيفةٌ مختصرة (كما ورد في الجدول السّابق)، فبإمكانك إثارة الحدث باستدعاء الوظيفة المختصرة ذاتها: $( 'li' ).click();ملاحظة: عندما تُثير حدثًا باستخدام ‎.trigger()‎، فإنّك تستدعي مُتولّيات الأحداث الّتي أُنشئت في JavaScript فقط ولا تستدعي السّلوك الافتراضيّ للحدث. فمثلًا إن أثرت حدث النّقر على رابط (عنصر <a>) فلن ينتقل المتصفّح إلى الرّابط المُسند إليه في صفة href (مع أنّ بإمكانك كتابة أوامر تُنفّذ هذه الغاية). بعد أن تربط حدثًا بُعنصر، بإمكانك فكّ هذا الارتباط باستخدام الوظيفة ‎.off()‎ الّتي تُزيل أية مُتولّيات ارتبطت بهذا الحدث: $( 'li' ).off( 'click' );حصر الأحداث ضمن فضاء أسماءمن المزايا الّتي تُتيحها ‎.on()‎ إمكانيّة حصر الأحداث ضمن "فضاء أسماء". قد تتساءل عن الحاجة لذلك. افترض مثلًا أنّك تريد ربط بعض الأحداث بعنصر ما، ثمّ إزالة بعض المُتولّيات، يمكنك أن تفعل ما فعلناه في الفقرة الماضية: تحذير: أسلوب برمجيّ غير مُفضّل $( 'li' ).on( 'click', function() { console.log( 'a list item was clicked' ); }); $( 'li' ).on( 'click', function() { registerClick(); doSomethingElse(); }); $( 'li' ).off( 'click' );إلّا أنّ هذا الأسلوب سيُزيل كلّ مُتولّيات النقر على كلّ عناصر القوائم، وليس هذا ما نريد. إذا ربطت متولّيًا للأحداث محصورًا ضمن فضاء أسماء، فبإمكانك استهدافه بدقّة: $( 'li' ).on( 'click.logging', function() { console.log( 'a list item was clicked' ); }); $( 'li' ).on( 'click.analytics', function() { registerClick(); doSomethingElse(); }); $( 'li' ).off( 'click.logging' );هذا الأسلوب لا يؤثّر على الأحداث المرتبطة بالنّقر والمُتعلّقة بأغراض إحصاءات الاستخدام في الصّفحة، بينما يزيل أحداث النّقر المُتعلّقة بالسّجلّات. بإمكاننا استخدام ميزة حصر الأحداث لإثارة أحداثٍ مُحدّدة: $( 'li' ).trigger( 'click.logging' );ربط أحداث مُتعدّدة في وقت واحدميزة أخرى تُوفّرها ‎.on()‎، وهي إمكانيّة ربط أحداث مُتعدّدة في وقتٍ واحد. افترض مثلًا أنّك تريد تنفيذ أمرٍ مُعيّن عندما يُمرّر المستخدم الصّفحة أو يغيّر قياس النّافذة. فهذه الوظيفة تُتيح لك تمرير الحدثين معًا مفصولين بمسافة في سلسلة نصيّة، يتبعهما الدّالّة الّتي تريد أن تتولّى الحدثين: $( 'input[type="text"]' ).on('focus blur', function() { console.log( 'The user focused or blurred the input' ); }); $( window ).on( 'resize.foo scroll.bar', function() { console.log( 'The window has been resized or scrolled!' ); });جرّب المثال في ساحة التّجربة تمرير دوالّ مُسمّاة كُمتولّيات الأحداثفي كلّ أمثلتنا السّابقة، كنّا نُمرّر دوالّ مجهولة كمُتولّيات للأحداث، ولكن يمكننا إنشاء دالّة قبل إمرارها وحفظها في مُتغيّر ثمّ تمرير هذا المُتغيّر كمُتولّي الحدث. هذا يُفيد في حال أردت استخدام الدّالة نفسها لتتولّى أحداثًا مُختلفة أو أحداثًا من عناصر مُختلفة: var handleClick = function() { console.log( 'something was clicked' ); }; $( 'li' ).on( 'click', handleClick ); $( 'h1' ).on( 'click', handleClick );كائن الحدثفي كلّ مرّة يُثار فيها حدثٌ ما، تستقبل الدّالّة المُتولّية للحدث مُعاملًا واحدًا، وهو كائن الحدث الّذي يتبع معايير مُتّفقًا عليها بين كلّ المُتصفّحات. ولهذا الكائن خصائص مُفيدة كثيرة، منها: $( document ).on( 'click', function( event ) { console.log( event.type ); // نوع الحدث، مثل: "click" console.log( event.which ); // الزرّ أو المفتاح الّذي ضغط console.log( event.target ); // العنصر الّذي انطلق منه الحدث console.log( event.pageX ); // موقع مؤشّر الفأرة على المحور X console.log( event.pageY ); // موقع مؤشّر الفأرة على المحور Y });جرّب المثال في ساحة التّجربة داخل مُتولّي الأحداثعندما تُحدِّد الدّالة المُتولّية لحدث ما، فإنّه يُتاح لهذه الدّالّة وصول إلى عنصر DOM الخام الّذي أطلق الحدث كسياق الدّالّة this، فإن أردت استخدام jQuery للتّعامل مع الحدث، فأحطه بـ‎$()‎: $( 'input' ).on( 'keydown', function( event ) { // this: العنصر الخام الّذي أطلق الحدث // event: كائن الحدث // غير لون الخلفية إلى أحمر إذا ضغط زر مسح الحرف، أو إلى أخضر فيما سوى ذلك $( this ).css( 'background', event.which === 8 ? 'red' : 'green' ); });جرّب المثال في ساحة التّجربة منع السّلوك المبدئيّقد ترغب أحيانًا في منع السّلوك المبدئيّ لحدثٍ ما، كأن ترغب في تولّي النّقر فوق رابط باستخدام AJAX، بدلًا من بدء إعادة تحميل كاملةٍ للصّفحة (وهو السّلوك المبدئيّ). يصل العديد من المُطوّرين إلى هذه الغاية بإعادة false من مُتولّي الحدث، ولكنّ لهذا تأثيرًا جانبيًّا آخر: فهو يمنع تفشّي الحدث (propagation) أيضًا (سنشرحه بعد قليل)، ممّا قد يعطي نتائج غير مرغوبة. الطّريقة السّليمة لمنع السّلوك المبدئيّ لحدث تكون باستدعاء ‎.preventDefault()‎ على كائن الحدث: $( 'input' ).on( 'keydown', function( event ) { // this: العنصر الخام الّذي أطلق الحدث // event: كائن الحدث // غير لون الخلفية إلى أحمر إذا ضغط زر مسح الحرف، أو إلى أخضر فيما سوى ذلك $( this ).css( 'background', event.which === 8 ? 'red' : 'green' ); });جرّب المثال في ساحة التّجربة صعود الأحداث (Event bubbling)تمعّن النّص البرمجيّ التّالي: $( 'a' ).on( 'click', function( event ) { // امنع الحدث المبدئيّ. event.preventDefault(); // سجّل ما حدث. console.log( 'I was just clicked!' ); });جرّب المثال في ساحة التّجربة يربط هذا النّص مُتولّيًا للنقر على كلّ العناصر في الصّفحة (وهو أمر يجب ألّا تفعله نهائيًّا في المواقع الحقيقيّة)، بالإضافة إلى عنصري النّافذة والمُستند. ولكن ما الّذي يحدث عندما تنقر على عنصر <a> مُدرج داخل عناصر أخرى؟ الحقيقة أنّ الحدث سيُثار على العنصر <a> وعلى كلّ العناصر الّتي تُحيط به صعودًا حتّى الوصول إلى العنصرين document وwindow. يُسمّى هذا السّلوك "صعود الأحداث"، فالحدث يُثار على العنصر الّذي نقر عليه المُستخدم، ثمّ ينتقل صاعدًا إلى كلّ العناصر الّتي تحويه وصولًا إلى أعلى DOM، إلّا إن استدعيت الوظيفة ‎.stopPropagation()‎ على كائن الحدث. بإمكانك فهم ذلك بسهولة أكبر في هذا المثال: <a href="#foo"><span>I am a Link!</span></a> <a href="#bar"><b><i>I am another Link!</i></b></a>$( 'a' ).on( 'click', function( event ) { event.preventDefault(); console.log( $( this ).attr( 'href' ) ); });عندما تنقر على "I am a Link!‎"، فإنك لا تنقر فعليًّا على العنصر <a>، بل على العنصر <span> داخله، ولكن الحدث "يصعد" نحو العنصر <a> ويُثير حدث النّقر المُرتبط به. تفويض الأحداث (Event delegation)يسمح لنا مفهوم "صعود الأحداث" بإنجاز فكرة "تفويض الأحداث"، أي ربط الأحداث بعناصر في مستوى أعلى، ثمّ اكتشاف أيّ عنصر فرعيّ ضمنها أثار الحدث. بإمكاننا مثلًا ربط حدث بقائمة غير مُرتّبة، ثمّ تحديد أيّ العناصر أثار الحدث: $( '#my-unordered-list' ).on( 'click', function( event ) { console.log( event.target ); // يُسجّل العنصر الّذي أثار الحدث });جرّب المثال في ساحة التّجربة بالطّبع ستتعقّد الأمور إذا احتوت عناصر القائمة على عناصر فرعيّة ضمنها، ولهذا تُقدّم jQuery وظيفةً مُساعدة تسمح لنا بتحديد أي العناصر نهتمّ بها، مع الاحتفاظ بالحدث مُرتبطًا بالعنصر ذي المُستوى الأعلى: $( '#my-unordered-list' ).on( 'click', 'li', function( event ) { console.log( this ); // يُسجّل عنصر القائمة الّذي أثار الحدث });جرّب المثال في ساحة التّجربة لتفويض الأحداث فائدتان اثنتان: أولاهما أنّه يسمح بربط عددٍ أقلّ من مُتولّيات الأحداث مقارنة بالعدد الّذي نحتاجه لو قرّرنا ربط الأحداث بالعناصر المُنفردة، وهذا يُحسّن الأداء في الصّفحة بصورة كبيرة. وثاني الفائدتين أنّه يسمح لنا بربط الأحداث بالآباء (كالقائمة غير المرتّبة في مثالنا)، مع اطمئنانا إلى أنّ الأحدث ستُثار حتّى وإن تغيّرت مُحتويات العنصر الأب. هذا النّصّ مثلًا، يُضيف عنصر قائمةٍ جديدًا بعد تفويض الحدث إلى العنصر الأب، والنّقر فوق هذا العنصر سيُثير الحدث كما ينبغي، دون الحاجة لربط أيّة أحداث جديدة: $( '#my-unordered-list' ).on( 'click', 'li', function( event ) { console.log( this ); // يُسجّل عنصر القائمة الّذي نُقر عليه }); $( '<li>a new list item!</li>' ).appendTo( '#my-unordered-list' );جرّب المثال في ساحة التّجربة خاتمةتعلّمنا في هذا الجزء الوسائل المُختلفة للإنصات إلى تفاعل المُستخدم مع صفحتنا، بما في ذلك كيفيّة الاستفادة من التفويض لتحسين كفاءة ربط الأحداث بالعناصر. سنتعرّف الجزء القادم كيف نُحرّك العناصر باستخدام وظائف التأثيرات الحركيّة في jQuery. ترجمة (بشيء من التصرف) للجزء الرابع من سلسلة  jQuery Fundamentals لمؤلّفتها Rebecca Murphey.
×
×
  • أضف...