شناسه : 439
دوشنبه 1 شهريور 1400 ساعت 15:21 2021-8-23 15:21:08
اولین نسخه دروپال ۷ در دی  1389 منتشر شد. در ابتدا استقبال چندانی نسبت به نسخه ۷ در مقابل نسخه قدرتمند ۶ نشد اما کم کم نسخه ۷ خود رو به بهترین نسخه منتشر شده دروپال تغییر داد. ماژول ها کم کم سازگار شدند و دروپال ۷ قدرت گرفت. به عقیده برخی از صاحب نظران این عرصه هنوز هم با وجود معرفی نسخه ۹ هنوز نسخه ۷ بهترین نسخه دروپال به شمار می رود. اما چرخه توسعه به زودی این قول قدرتمند را برای همیشه کنار خواهد گذاشت.
اولین نسخه دروپال ۷ در دی 1389 منتشر شد. در ابتدا استقبال چندانی نسبت به نسخه ۷ در مقابل نسخه قدرتمند ۶ نشد اما کم کم نسخه ۷ خود رو به بهترین نسخه منتشر شده دروپال تغییر داد. ماژول ها کم کم سازگار شدند و دروپال ۷ قدرت گرفت. به عقیده برخی از صاحب نظران این عرصه هنوز هم با وجود معرفی نسخه ۹ هنوز نسخه ۷ بهترین نسخه دروپال به شمار می رود. اما چرخه توسعه به زودی این قول قدرتمند را برای همیشه کنار خواهد گذاشت.

دروپال ۷ بر طبق برنامه ریزی های تیم توسعه دهنده قرار بود از آبان ۱۴۰۰ به پایان پشتیبانی خودش برسه اما با توجه به سایت های زیادی که از این نسخه استفاده می کنند و فرآیند پیچیده انتقال به نسخه های جدید این تاریخ به آذر ۱۴۰۱ تغییر کرد. این به این معنی که یکساله دیگه تمام آپدیت ها ضروری و پشتیبانی ها برای هسته برقراره اما بعد از اون چی؟

آروم باشید و ادامه بدید

بعد از آذر ۱۴۰۱ هم اتفاق هایی می افته که براتون توضیح میدیم اما خیلی نگران نباشید چون در صورتی که باگ های مهمی و عمومی روی هسته اتفاق بیافته توسعه دهنده های هسته به صورت غیر رسمی پچ هایی رو برای رفع اونا خواهند داد. اما به طور رسمی پشتیبانی وسیعی از دروپال صورت نمی گیره.

چه اتفاق هایی خواهد افتاد :

  • پشتیبانی گسترده ای انجام نمیشه، پروژه های جدیدی روش تعریف نمیشه، ماژول های فعلی روی نسخه های اصلی رفع ایراد نمیشن و محتوای آموزشی جدیدی اضافه نمیشه
  • هسته نسخه ۷ تغییری نخواهد کرد
  • تیم امنیتی دروپال بر روی آسیب پذیری ها کار نخواهد کرد
  • همه نسخه های دروپال ۷ و ماژول ها به حالت غیرقابل پشتیبانی منتقل می شن
  • در قسمت گزارش وضعیت و بروزرسانی در پنل مدیریت به شما خطای غیرقابل پشتیبانی نمایش می دهد
  • در ابزارهای بررسی امنیتی سایت شما نا امن نمایش داده می شود

 

البته خالق دروپال برای مشتری های خود acquia گفته تا ۲۰۲۵ ساپورت هسته رو داریم این به این معنیه که اگر مشکل خواصی بیاد تیم acquia روش کار می کنه و احتمالا پچ هایی رو هم خواهند داد.

 

نکته : بهترین حالت استفاده از یک نرم افزار اینه که از نسخه های جدید استفاده کنید و از نسخه هایی که پشتیبانی نمیشن استفاده نکنیم پس یه برنامه برای ارتقا بریزید اگر مقدور نیست باید با وسواس بیشتری ادامه بدید.

 

 

منبع : acquia.com

شناسه : 437
سه شنبه 10 دى 1398 ساعت 12:09 2019-12-31 12:09:01

توسعه وب و دروپال

حتما در مورد react شنیده اید، یکی از کتابخانه های جاوا اسکریپت که توسط فیس بوک برای ایجاد رابط کاربری سریع و نعاملی ایجاد شده است. حال اگر بتوانیم این را در Drupal نیز اجرا کنیم بسیار عالی می شود.اکنون من به شما میگوییم که چگونه می توانید React  را به هر سایت دروپالی خود اضافه کنید.

قبل از هرچیزی لازم است با مفهوم decoupling آشنا شویم، Decoupling ایده جدا کردن مدیریت محتوا از ارائه محتوا است. در یک سایت دروپالی، Drupal مسئول مدیریت و ارائه محتواست.

Headless

مدیریت محتوا: دروپال

ارائه محتوا: هر فریم ورک فرانت اند (Angular , react , … )

Progressive

مدیریت محتوا: دروپال

ارائه محتوا: دروپال + هر فریم ورک فرانت اند (Angular , react , … )

Headless decoupling برای ساخت برنامه های Android , ios  مناسب است زیرا دروپال فقط در بک اند اجرا می شود و تمام کد های فرانت اند شما می تواند توسط فریم ورک های جاوا اسکریپت نوشته شود.

Progressively Decoupling Drupal

قبل از نصب ماژول React  لازم است پیکر بندی های لازم Drupal را انجام دهیم تا داده ها را از طریق API به React ارسال کنیم. ما می توانیم این کار را به راحتی با ماژول های Views و یا RESTful Web Services موجود در هسته دروپال انجام دهیم.

وارد سایت دروپالی خود شوید.

به بخش Manage > Extend بروید و سپس ماژول های زیر را فعال کنید:

به بخش Manage > Structure > Views بروید.

یک view جدید تحت عنوان REST Export ایجاد کنید و برای دسترسی به برنامه React خود یک نقطه پایانی(end point) ارائه دهید:

در این مثال ، ما یک لیست رویداد (event) ایجاد می کنیم. با این حال، شما می توانید از داده های Drupal نیزاستفاده کنید (انواع محتوا ، انواع پاراگراف ، کاربران و ...).

حال میخواهم تمام نقاط انتهایی را پیشوند api بدهم.

در view  جدید ایجاد شده در بخش Format > Settings گزینه JSON را انتخاب کنید.

سپس تمام فیلد هایی که می خواهیم export کنید را اضافه و پیکربندی کنید:

برای اطمینان، به صفحه اصلی سایت دروپال خود بروید و مسیر API خود را به انتهای URL اضافه کنید (مثلا http: //mysite.local/api/events ). شما باید یک شی JSON ببینید که حاوی کلید/ مقدار از نام فیلد شما و محتوای مربوط به آن ها است.

درسته!حال میتوانیدRract  را اضافه کنید...

نصب ماژول React

راه‌اندازی یک برنامه React با استفاده از اسکریپت "create-react-app"، یک فرآیند سریع و آسان است. با این حال، استفاده از      React در یک ماژول دروپال کار ساده ای نیست.

خوشبختانه در حال حاضر یک ماژول React/Redux Boilerplate وجود دارد که شما بلافاصله می توانید شروع به نوشتن کد های react خود کنید. برای نصب این ماژول به آدرس https://www.drupal.org/sandbox/kemanewright/3096257 مراجعه کنید.

ماژول React

این ماژول در تمام سناریوی هایی که می خواهید چند عنصر به هم مرتبط در چند صفحه از سایت خود داشته باشید، بسیار عالی عمل می کند، زیرا با استفاده از سیستم بلوک دروپال می توانید آن را در هر مکانی و بر روی هر نوع محتوایی که مد نظر دارید قرار دهید.

شاید در حال ایجاد یک برنامه قرار ملاقات هستید و به تقویم و ارسال پیام نیاز دارید که به موقع بروزرسانی شود، این یک سناریو مناسب برای  React  است.

 

ترجمه و تالیف : ایران دروپال


نسخه دروپال 9 برای ژوئن 2020 برنامه ریزی شده و شما باید اطمینان داشته باشید که بستر شما برای به روز رسانی آماده است. اگرچه به روز رسانی به نسخه جدید به راحتی آب خوردن است. با ما همراه باشید...
نسخه دروپال 9 برای ژوئن 2020 برنامه ریزی شده و شما باید اطمینان داشته باشید که بستر شما برای به روز رسانی آماده است. اگرچه به روز رسانی به نسخه جدید به راحتی آب خوردن است. با ما همراه باشید...

چه چیز های باید درموردDrupal 9  بدانیم؟

Dries Buytaert بنیان گذار دروپال از انتشار Drupal 9 برای سوم ژوئن 2020 خبر داد. این نسخه مطابق پایه و بیس D8 ساخته شده است و این به این معنی است که شما به راحتی می توانید از D8 به D9 منتقل شوید.

اما شاید برایتان سوال باشد که D7 و D8 چی می شوند؟ آن ها در نوامبر 2021 به انتهای عمر خود می رسند و این به این معنا است که برای آن ها هیچ پشتیبانی رسمی و به روز رسانی وجود نخواهد داشت.

 

استفاده از Drupal 9

اگر تاکنون از Drupal 8 استفاده می کردید، حالا استفاده از Drupal 9 هم برای شما آسان است. برای استفاده از Drupal 9 مطمئن شوید که تمام ماژول های شما به روز شده اند.

چرا مهاجرت از Drupal 8 به Drupal 9 بی دردسر است؟

  • نیازی به بازنویسی تمام کدها برای D9 نیست.
  • به روز رسانی های D8 شما را برای استفاده از D9 آماده می کند.
  • ماژول های D8 با D9 سازگار خواهد بود.

 

نحوه استفاده از  Drupal 9(اگر از Drupal 8 استفاده می کنید)

اگر از Drupal 7 استفاده می کردید، استفاده از Drupal 9 کمی دشوارتر خواهد بود. اگر میخواهید مشکلات کمتری داشته باشید ابتدا به Drupal 8 به روز رسانی کنید، دلایل زیادی برای به روزرسانی به Drupal 8 وجود دارد:

  • تجربه بهتر
  • ساختار قدرتمند
  • ارتقاء آسان
  • ارتقاء مدیریت رسانه
  • ارتقاء تم ها
  • بهبود عمکرد
  • و ...

اگرچه بهترین گزینه برای دارندگان وب سایت دروپال 7 مهاجرت به دروپال 8 است، اما می توانید برای پشتیبانی از وب سایت دروپال 7 خود با یک شرکت توسعه وب و دروپال تماس بگیرید.

 

کلیدواژه ها: 

دروپال 9

drupal9

دروپال9


وقتی که مردم از سرتاسر جهان درمورد تولید و خدمات شما جستجو می کنند، شما میخواهید که با قدرت تمام و به بهترین نحو ممکن در موتور های جستجو ظاهر شوید. ارتقا رتبه SERP  (صفحه نتایج موتورهای جستجو)، از هر استراتژی دیگری مهم تر و کارآمد تر می باشد. Drupal SEO برای آسان تر کردن جستجو برای بازدیدکنندگان سایت و موتور های جستجو است. بنابراین استراتژی SEO سایت شما باید قبل از ایجاد سایتتان آغاز شود. Drupal 8 ماژول هایی را به جهت بهبود و ارتقا SEO , SERP  سایت شما ارائه می دهد.
وقتی که مردم از سرتاسر جهان درمورد تولید و خدمات شما جستجو می کنند، شما میخواهید که با قدرت تمام و به بهترین نحو ممکن در موتور های جستجو ظاهر شوید. ارتقا رتبه SERP (صفحه نتایج موتورهای جستجو)، از هر استراتژی دیگری مهم تر و کارآمد تر می باشد. Drupal SEO برای آسان تر کردن جستجو برای بازدیدکنندگان سایت و موتور های جستجو است. بنابراین استراتژی SEO سایت شما باید قبل از ایجاد سایتتان آغاز شود. Drupal 8 ماژول هایی را به جهت بهبود و ارتقا SEO , SERP سایت شما ارائه می دهد.

همه ما Drupal  را به عنوان یک پلتفرم قوی، منعطف و قابل اعتماد می شناسیم، اما بسیاری از توانایی های آن را به هنگام سئو نمی شناسیم. سئو می تواند یکی از عوامل مهم در موفقیت یک سازمان و یا یک بیزینس باشد.

وقتی که مردم از سرتاسر جهان درمورد تولید و خدمات شما جستجو می کنند، شما میخواهید که با قدرت تمام و به بهترین نحو ممکن در موتور های جستجو ظاهر شوید. ارتقا رتبه SERP  (صفحه نتایج موتورهای جستجو)، از هر استراتژی دیگری مهم تر و کارآمد تر می باشد. Drupal SEO برای آسان تر کردن جستجو برای بازدیدکنندگان سایت و موتور های جستجو است. بنابراین استراتژی SEO سایت شما باید قبل از ایجاد سایتتان آغاز شود. Drupal 8 ماژول هایی را به جهت بهبود و ارتقا SEO , SERP  سایت شما ارائه می دهد.

در دروپال 8، بسیاری از بهترین شیوه های مورد نیاز SEO در هسته پلتفرم تعبیه شده اند و با دانش کمی از سئو و برخی پیکربندی های لازم، هرکسی می تواند سئو وب سایت خود را تقویت کند تا ترافیک بیشتری بدست آورد. اما قبل از اینکه به ابزارها و سایر تنظیمات دروپال 8 بپردازید،بهتر است در مورد اصول اولیه ای که برای موفقیت وب سایتتان لازم است فکر کنید.

 

یادآوری

  • با در نظر گرفتن اهداف وب سایت و علاقه جستجو کنندگان خود،یک استراتژی مناسب برای SEO  خود بسازید.
  • قبل از شروع استراتژی سئو دروپال، مخاطبان خود را بشناسید. هنگامی که مخاطبان خود را بشناسید، محتوا گذاری نیز برای شما راحت تر می شود.
  • به تمام جزئیاتی که به سئو on-page(محتوا،بهبود رتبه بندی کلمات کلیدی)، سئو off-page(بک لینک ها) و سئو تکنیکال شما کمک می کند توجه فرمایید.
  • عملکرد وب سایت و سرعت سایت به طور مستقیم در رتبه بندی سئو وب سایت نقش دارد. این عامل نه تنها بخاطر الگوریتم گوگل، بلکه به علت اینکه سرعت لود آهسته باعث از دست دادن تعداد بازدیدکنندگان سایت می باشد، مهم است.
  • چند وقتی است گوگل شیوه خود را برای SEO تغییر داده است و بیشتر بر روی ارزش و اعتبار محتوایی که به کاربر ارائه می دهید تمرکز دارد. از این رو، تولید محتوای مناسب برای رتبه بندی سایت تاثیر به سزایی دارد.
  • گوگل از سایت هایی پشتیبانی و حمایت می کند که بدون در نظر گرفتن نوع دستگاه مورد استفاده(لپ تاپ، تبلت، موبایل و یا ...) حرکت و دسترسی کاربران را راحت کرده است (رعایت اصول Responsive). با دروپال 8، به دلیل رویکرد Mobile-First  می توانید از واکنشگرا بودن وب سایت خود اطمینان حاصل نمایید.
  • به خاطر داشته باشید که سئو برای مشاغل مختلف، به صورت متفاوت عمل می کند.

5 ماژول برتر سئو برای بهینه سازی وب سایت

در Drupal 8 ، فناوری های جدیدتر و بهتری برای سئو ارائه شده است. همین امر موجب تولید محتوای قوی تر و با ارزش تری شده است.در ادامه به معرفی 5 ماژول برتر سئو در Drupal می پردازیم.

با ما همراه باشید...

 

 1-ماژول Drupal SEO Checklist

اگر شما شخصی هستید که به امور سازمان دهی شده و برنامه ریزی شده علاقه مندید، این ماژول مناسب شماست. این ماژول به طور مستقیم بر روی SEO  و SERP شما تاثیرگذار نیست، اما اطلاعات مهمی راجع به تغییرات ایجاد شده در سایت به شما ارائه می دهد.

ماژول Drupal SEO Checklist کل وب سایت شما را برای بهینه سازی مناسب موتور های جستجو با بهترین شیوه مورد بررسی قرار داده و راهکار های مناسبی پیش روی شما قرار می دهد. این ماژول گزارش کاملی در مورد آنچه که برای بهبود عملکرد وب سایت شما مناسب است ارائه می دهد.

 

ماژول Drupal SEO checklist اطلاعاتی راجع به اموری که قبلا برای سایت انجام شده است (به همراه زمان) و آن چه که باید صورت گیرد نگه داری می کند و اگر احتیاج به نصب ماژول جدیدی باشد به همراه لینک دانلود در اختیار شما قرار می دهد. این ماژول گزارشی را به شما ارائه می دهد که برای نظارت بیشتر مورد استفاده قرار می گیرد.

 

2-ماژول Pathauto

استفاده از یک URL مناسب که نشان دهد قصد ارائه چه محتوایی را دارید، برای سئو بسیار مهم است. یکی از مهمترین و مفیدترین ماژول ها برای Drupal SEO ،ماژول Pathautho است که در ایجاد URL های مناسب برای SEO در وب سایت نقش اساسی دارد .برای مثال آدرس "example[dot]com/node/1" می تواند با یک آدرس مناسب تری مانند "example[dot]com/page/keyword" جایگزین شود. بر اساس دسته بندی صفحه وب سایت خود و یا بر اساس عنوان صفحه،با ماژول SEO Pathauto می توانید URL هایی بسازید که از نظر سئو مناسب باشند. ساخت URL های مناسب به بازدید کنندگان شما کمک می کند تا متوجه شوند در چه صفحه ای بوده و به دنبال چه چیزی هستند و این امر نیز خود به رتبه بندی سایت شما در نتایج جستجو کمک می کند.

 

3-ماژول  Google Analytics

ماژول  Google Analytics تاثیر مستقیمی بر روی سئو سایت شما و یا بهبود آن برای موتور های جستجو ندارد، اما میتواند اطلاعات بسیار مهم و مفیدی را در راستای افزایش سئو سایت به شما ارائه دهد. با به دست آوردن اطلاعاتی در مورد بازدیدکنندگان خود در سایتتان (رفتار،علایق و...) می توانید استراتژی های جدیدی را در راستای افزایش ترافیک سایت خود بدست آورید. همچنین می توانید با استفاده از ماژول گزارشات Google Analytics یک نمایش گرافیکی و گزارشی از جزئیات سایت خود بدست آورید.

 

4-ماژول Global Redirect

گوگل هیچ علاقه ای به محتوای کپی برداری شده و اسپم ندارد. چنین محتوا می تواند تأثیر منفی بر سئو شما داشته و در نتیجه می تواند به رتبه شما در موتور جستجو آسیب برساند. در دروپال، در حالی که شما از ایجاد URL های مناسب خوشحال هستید، باید توجه داشته باشید که یک مشکل کوچک بوجود می آید و آن این است که  با ایجاد URL های جدید، URL پیش فرض هنوز هم وجود دارد و موتورهای جستجو آن را نشانه خوبی نمی بینند.

ماژول Global Redirect با تأیید وجود نام مستعار برای URL و اصلاح مجدد آن به همان نام، به رفع این مشکل کمک می کند. این ماژول نقش مهمی در بررسی اجرای URL و یا دسترسی مورد نیاز به آدرس ها، ایفا می کند. با این حال، این ماژول برای دروپال 8 منسوخ شده و اکنون عملکردها در ماژول Redirect ادغام شده اند.

 

5-ماژول SEO Compliance Checker

این ماژول برای مبتدیان و وب مسترها بسیار مناسب می باشد. هنگامی که یک node  در وب سایت شما ایجاد می شود، این ماژول سازگاری آن را با سئو بررسی می کند. ماژول SEO Compliance Checker مواردی همچون: متاتگ ها، استفاده از alt برای تصاویر، استفاده از کلمات کلیدی بهینه شده و سایر فاکتور های مهم را ارائه می دهد.

 

 

 

 

ماژول اصلی SEO Checker هیچ یک از بررسی ها را انجام نمی دهد، برای انجام این بررسی ها زیرمجموعه ای از ماژول ها ایجاد شده اند (ماژول basic_seo_rules و ماژول keyword_rules). از طرف دیگر، ماژول اصلی اطلاعات لازم را درباره بررسی هایی که باید انجام شوند جمع آوری کرده و آنها را برای نتایج اعمال می کند.

علاوه بر این ماژول ها، تعداد بسیار زیادی از ماژول های دیگر نیز وجود دارند که می توانند عنوان صفحه را تنظیم کنند و یا ماژول متا تگ ها برای بررسی تگ های متا موجود در صفحه و یا ماژول نقشه سایت برای ساخت نقشه های مناسب سایت بکار برده می شوند.

 

برخی نکات اضافی برای بهبود رتبه سایت دروپال شما

در این مدت زمانی که شما درحال مطالعه این مقاله بوده اید:

1-بیش از یک میلیون جستجو در Google انجام شد.

2-نزدیک به 20،000 پست در فیس بوک ارسال شده است.

3-بیش از 1000 وبلاگ در اینترنت ارسال شده است.

سئو در مراحل ابتدایی خود، اطلاعاتی راجع به کلمات کلیدی وب سایت می دهد. اما با گذشت زمان، SEO با معرفی الگوریتم های جدید و به روز رسانی آن ها، شیوه های جدیدی برای مهار سئو کلاه سیاه ارائه کرد.

در حال حاضر، برای داشتن یک سئو موفق در دروپال 8، شما نیاز دارید که رفتار و علایق بازدید کنندگان خود را بررسی کرده و محتوای مناسب و مرتبط با آن تولید کنید.

با استفاده از این مقاله، شما یک فرصت واقعی در دست دارید تا محتوای تازه ای را برای وب سایت دروپال خود تهیه کرده و آن را برای جستجوی موتورهای جستجو بهینه کنید.

 

منبع : https://www.specbee.com/blogs/drupal-seo-modules-and-tips-can-boost-your-website-ranking

 

کلیدواژه ها: 

سئو

SEO

سئو در دروپال


برای ایجاد یک ماژول ساده با پیش نیازها و مقدمات ضروری در دروپال چند روش وجود دارد. خب این یعنی چی؟
یعنی اینکه اگر میخواهید یک ماژول جدید ایجاد کنید که یک سری کارهای خاص و ویژه ای انجام دهد ولی نمیدانید که ساختار و فایلهای استاندارد حداقلی و ضروری برای ایجاد آن چیست و یا اینکه حوصله ایجاد یک سری فایلها و ساختارهای تکراری را ندارید، آنگاه میتوانید از ابزارهای آماده برای این کار استفاده کنید. به این ابزارها کدساز یا Code Generator یا Code Builder یا همچین چیزی میگویند.
برای ایجاد یک ماژول ساده با پیش نیازها و مقدمات ضروری در دروپال چند روش وجود دارد. خب این یعنی چی؟ یعنی اینکه اگر میخواهید یک ماژول جدید ایجاد کنید که یک سری کارهای خاص و ویژه ای انجام دهد ولی نمیدانید که ساختار و فایلهای استاندارد حداقلی و ضروری برای ایجاد آن چیست و یا اینکه حوصله ایجاد یک سری فایلها و ساختارهای تکراری را ندارید، آنگاه میتوانید از ابزارهای آماده برای این کار استفاده کنید. به این ابزارها کدساز یا Code Generator یا Code Builder یا همچین چیزی میگویند.

کدسازهای برجسته در دروپال عبارتند از:

Drupal Console   -   Drush   -   Module Builder

با هم نگاهی به این کدسازها میندازیم:

 

Drupal Console

دروپال کنسول یک ابزار خط فرمان برای دروپال 8 هست: CLI = Command Line Tool

این ابزار بعد از دراش ایجاد شده و رقابت سختی با دراش دارد. این ابزار یک سری کارهای روتین نگهداری سایت مثل خالی کردن کش، اجرای کران، بک آپ گیری، ورود تنظیمات پیکربندی و کارهای توسعه ای مثل ایجاد ماژول های ساده و پیشنیازهای کد نویسی را انجام میدهد. برای مشاهده لیست دستورهای کدساز موجود در دروپال کنسول بعد از اطمینان از نصب صحیح دروپال کنسول، این فرمان را اجرا کنید:

./vendor/bin/drupal generate
or
drupal generate

نتیجه:
 

Drupal Console version 1.9.1

Available commands for the "generate" namespace:
  generate:ajax:command (gac)                 Generate & Register a custom ajax command
  generate:authentication:provider (gap)      Generate an Authentication Provider
  generate:breakpoint (gb)                    Generate breakpoint
  generate:cache:context (gcc)                Generate a cache context
  ...

 

ایجاد ماژول با دروپال کنسول :

drupal generate:module

سپس سوالهایی که از شما درباره اطلاعات اولیه ماژول مورد نیاز میپرسد و ماژول را ایجاد میکند:

 


 

 

ایجاد یک بلاک با کمک دروپال کنسول:

drupal generate:plugin:block

در سوال اول میپرسد که این بلاک را به کدام ماژول میخواهید اضافه کنید. یا در واقع میخواهید این بلاک توسط کدام مازول ایجاد شود و به کد کدام ماژول اضافه شود:

 Enter the module name [webform_access]:
 > dc_demo

در سوالهای بعدی نام کلاس، برچسب کلاس و شناسه کلاس را از شما میپرسد:

 Enter the plugin class name [DefaultBlock]:
 >

 Enter the plugin label [Default block]:
 >

 Enter the plugin id [default_block]:
 >

 

 

دروپال کنسول تا امروز حدود 5 میلیون دانلود، 300 مشارکت کننده در کد و 532 زیر توسعه شاخه متفاوت داشته است.

توضیحات بیشتر و منابع آموزشی مربوط به دروپال کنسول را از در سایت آن بررسی کنید: drupalconsole.com

 

 

 

Drush

دراش ابزار خط فرمان اصلی (CLI = Command Line Tool) دروپال است. دراش را میتوانید برای بازسازی کش، فعال و غیرفعال کردن ماژول ها، نصب کامل سایت و بک آپ گیری و بسیاری موارد دیگر استفاده کنید. این ابزار تانسخه 9 قابلیت کدساز نداشت. تا اینکه رقابت با سایر ابزارها این امکان را در نسخه 9 دراش به ارمغان آورد.

برای مشاهده همه دستورهای آماده برای کدسازی از دستور زیر استفاده کنید:

drush generate

نتیجه:

Drush generate 9.7.1

Run `drush generate [command]` and answer a few questions in order to write starter code to your project.

 Available commands:
 _global:
   composer (composer.json)                                       Generates a composer.json file
   controller                                                     Generates a controller
   field                                                          Generates a field
   ...

 

برای ساخت یک ماژول:

drush generate module-standard

و پرسشی چند در مورد ماژول مورد نیاز:

Module name:
➤ Drush demo

Module machine name [drush_demo]:
➤

Module description [The description.]:
➤

 

 

تفاوت ایجاد ماژول در دراش و دروپال کنسول این است که هنگام ساخت ماژول در دراش همزمان از شما در مورد ایجاد و افزودن انواع فایلها و پلاگینها پرسش میشود. اما در دروپال کنسول ابتدا مازول را ایجاد میکند و سپس هریک از فایلها و پلاگین ها را میتوانید به صورت مجزا به هر ماژولی اضافه کنید.

 

ایجاد یک فرم در دراش:

drush generate form-simple

 

دراش تاکنون حدود 3.5 میلیون بار دانلود شده است.

جزئیات بیشتری از دراش را در سایت اصلی آن بررسی نمایید: drush.org

 

 

Module Builder

ماژول بیلدر یک ماژول دروپالی است که با کمک رابط کاربری امکان ایجاد ماژول و سایر مخلفات آن را میدهد؛ بر خلاف دو روش قبلی که مبتنی بر خط فرمان بودند و نیاز به نصب ابزار خارج از دروپال بود.

این ماژول بعد از نصب از شما درخواست میکند که کلیه کدهای دروپال نصب شده شما را آنالیز کند تا هنگام ساخت ماژول و پلاگین یا هر کد دیگری با اشراف به وضعیت فعلی پیشنهادهای مناسب و بدون مشکل ارائه دهد:

 

 

بعد از آنالیز وضعیت و آمار همه چیز را شناسایی میکند:

 

 

سپس می‌توانید انواع کدهای مورد نیاز خود را از طریق تبهای موجود ایجاد نمایید:

 

جزئیات بیشتر از ماژول Module Builder  را در صفحه خودش در سایت دروپال مطالعه و بررسی کنید: https://www.drupal.org/project/module_builder

 

 

در آخر

امیدوارم بعد از خواندن این مقاله حس بهتری نصبت به توسعه کدها و ماژول در دروپال داشته باشید و کارتون راحتتر شده باشد. یادتون باشه که این ابزارها حتما روی محیط توسعه و نسخه Develop دروپالتون باید استفاده بشوند و بعد از نهایی شدن کد به نسخه در حال بهره برداری از پروژه منتقل شوند.

 

موفق باشید

علی خالقیان

Why Drupal? What are its features?

 

  • Open SourceDrupal is open-source.
  • Awards: Drupal has been the leading content management system in the world for many consecutive years. Drupal is the award winner for the most secure platform.
  • Huge Collection of Modules: A lot of free and open modules and tools have been developed based on Drupal.
  • Big Community: Drupal benefits from a vast global community of active developers and programmers with a huge collection of educational contents about its platform.
  • Independence: Thanks to global and public standards of Drupal, the business owner will have the independency of decision in order for working non-stop and stress-free in case of having problems with one specific contractor team or company.
  • Extensibility: Drupal is a highly extensible and flexible platform. In other words, it is completely possible to add more and more features to the project during development procedure in order to meet new requirements. All the features and subsystems are installed on the same unique core.
  • Integration: Informational, CRM, HRM, library management, e-commerce, forums and blogging websites all can be running seamlessly on a single system with a unique core.
  • User Experiences: The end user will access to a simple user friendly interface by which s/he can manage various sections and procedures in the easiest way possible.
  • Saving: All the above features will result in saving huge amount of time and consequently money in product development process.
  • Sub Systems: There are various types of subsystems integrating in Drupal.
  • Develop Platform: Drupal development is based on the power of Symphony framework which benefits from features and up-to-date global programming standards such as MVC.
  • Commerce: The existence of flexible financial infrastructure for managing financial processes.
  • Flexible Data Structure: The data structure is designed to be purely open and flexible
  • Headless (First API-First Service): In the latest versions, the Drupal core can independently act as a powerful software core in order for providing various web services to a lot of applications and devices.
  • Multilingual: The ability to be multilingual infinitely.
  • Multisite: The management of infinite number of websites with different domains on one single core and panel.
  • Flexible Report Maker: Flexibility in making various detailed reports.
  • JavaScript base admin UI: The ability to customize UI with JavaScript from the core.
  • Workflow: The support for designing various types of workflows
  • Media Management: The centralized management of files and media.
  • Etc.
کلیدواژه ها: 

why drupal

drupal feature


 

چه موارد جدیدی در دروپال 8.7.0 موجود است؟

 

  • ماژول Layout Builder به نسخه پایدار (Stable) رسیده است.
  • ماژول JSON:API به نسخه پایدار (Stable) رسیده است.
  • کتابخانه آزمایشی Media بهبود پیدا کرده است.
  • منو و دسته بندی (Taxonomy) ها قابلیت نسخه پذیری (Revisionable) گرفته اند.
  • امکانات جدید به پروفایل دموی Umami اضافه شده است.
  • گامهایی در مسیر دروپال 9 برداشته است. مثل: پشتیبانی از Twig2 - پشتیبانی از Symfony4

 

کلیدواژه ها: 

دروپال 8.7.0


مقاله ای که لینکش در زیر آمده است اشاره دارد به دلایل استفاده از دروپال از سوی دانشگاه ها و مراکز پیشرو علمی در سطح جهان؛ مثل دانشگاه هاروارد، دانشگاه آکسفورد، دانشگاه استانفورد، سازمان ناسا.

خب به نطر میرسه مهمترین دلیل توسعه پذیری نامحدود و انعطاف دروپال هست. خب اشاره شود که توزیع یا Distributions های خوبی هم برای موضوع آموزش و مدرسه و دانشگاه ارائه شده است.

این مقاله در بخش سرزمین دروپال Drupal.org هم معرفی شده است.

https://drudesk.com/blog/drupal-university-websites

نسخه رسمی دروپال را میتوانید از اینجا دریافت کنید.

قبل از نصب، میتوانید نیازمندیهای سیستم جهت نصب و روش نصب دروپال 8 را مطالعه نمایید.

 

دانلود آخرین نسخه پایدار دروپال 8 :

 

8.7.3

drupal-8.7.3.zip

drupal-8.7.3.tar.gz

 

دانلود آخرین نسخه پایدار دروپال 7 :

 

7.67

drupal-7.67.zip

drupal-7.67.tar.gz

 

دانلود نسخه های در حال توسعه dev :

 

8.8.x-dev

drupal-8.8.x-dev.zip

drupal-8.8.x-dev.tar.gz

 

8.7.x-dev

drupal-8.7.x-dev.zip

drupal-8.7.x-dev.tar.gz

 

7.x-dev

drupal-7.x-dev.zip

drupal-7.x-dev.tar.gz

 

 

در دروپال شما می‌توانید قالب پیشفرض را از صفحه مدیریت قالبها تنظیم کنید و یا با بعضی ماژولهای کمکی مثل themeKey برای کاربران خاص یا صفحات خاص یا گیرنده خاص مثل موبایل یا ترکیبی از شروط یک قالب مجزا تعیین کنید.
اما همه این کارها را به سادگی با چند خط کد هم می‎توان انجام داد.
در دروپال شما می‌توانید قالب پیشفرض را از صفحه مدیریت قالبها تنظیم کنید و یا با بعضی ماژولهای کمکی مثل themeKey برای کاربران خاص یا صفحات خاص یا گیرنده خاص مثل موبایل یا ترکیبی از شروط یک قالب مجزا تعیین کنید. اما همه این کارها را به سادگی با چند خط کد هم می‎توان انجام داد.

 

برای این کار در دروپال 7 کافی بود از هوک hook_custom_theme استفاده کنید.

امادر دروپال 8 در دایرکتوری روت ماژولتان یک فایل  جهت معرفی سرویسهای استفاده شده ایجاد کنید. مثلا فایلی با نام:

myModule.services.yml

 

سپس فایل را باز کنید و بگویید که میخواهم از سرویس تغییر قالب استفاده کنم و آدرس کلاس مربوط به آن را بدهم و اولویت آن را بین همه سرویس های مشابه که در سایر ماژولها استفاده شده تعیین کنم:

services:
    myModule.theme.negotiator:
        class: Drupal\myModule\Theme\ThemeNegotiator
        tags:
          - { name: theme_negotiator, priority: 1000 }

 

سپس فایل کلاسی را که در بالا معرفی کردیم در دایرکتوری و جایگاه زیر ایجاد می‌کنیم:

myModule/src/Theme/ThemeNegotiator.php

 

فایل را باز میکنیم و ThemeNegotiatorInterface را به صورت زیر پیاده سازی می‌کنیم:

<?php
namespace Drupal\myModule\Theme;

use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Theme\ThemeNegotiatorInterface;

class ThemeNegotiator implements ThemeNegotiatorInterface {
    /**
     * @param RouteMatchInterface $route_match
     * @return bool
     */
    public function applies(RouteMatchInterface $route_match)
    {
        return $this->negotiateRoute($route_match) ? true : false;
    }
    /**
     * @param RouteMatchInterface $route_match
     * @return null|string
     */
    public function determineActiveTheme(RouteMatchInterface $route_match)
    {
        return $this->negotiateRoute($route_match) ?: null;
    }
    /**
     * Function that does all of the work in selecting a theme
     * @param RouteMatchInterface $route_match
     * @return bool|string
     */
    private function negotiateRoute(RouteMatchInterface $route_match)
    {
		
        $userRolesArray = \Drupal::currentUser()->getRoles();
        if ($route_match->getRouteName() == 'user.login') {
            return 'myTheme_1';
        }
        elseif ($route_match->getRouteName() == 'some.other.route') {
            return 'myTheme_2';
        }
        elseif (in_array("administrator", $userRolesArray)) {
            return 'myTheme_3';
        }
		
		$detect = \Drupal::service('mobiledetect')->detect();
		if (isset($_GET['theme']) && $_GET['theme'] == 'myTheme_4' && $detect->isMobile())
        {
            return 'myTheme_4';
        }
		
        return false;
    }
}

این کلاس را همینطور که هست کپی کنید. بخش مهم خط 29 به بعد هست. یعنی فانکشن negotiateRoute.

در خط 32 نقش کاربر را خوانده ایم.

در خط 33 گفته ایم اگر صفحه فعلی صفحه لاگین کاربر بود قالب یک روی صفحه اعمال شود.

در خط 36 گفته ایم اگر مثلا صفحه ای دیگر بود قالب دو اعمال شود.

در خط 39 گفته ایم اگر کاربر نقش administrator داشت قالب 3 اعمال شود.

در خط 43 سرویس موبایل دیتکت را فراخوانده ایم. این سرویس نیاز به نصب ماژول mobiledetect دارد و برای بررسی User Agent کاربرد دارد. مثلا برای بررسی دستگاه کاربر که موبایل است یا دستکتاپ یا تبلت یا غیره استفاده دارد.

در خط 44 گفته ایم اگر دستگاه کاربر موبایل بود یا اینکه نام قالب را در URL وارد کرده بود قالب 4 روی صفحه اعمال شود.

 

موفق باشید

 

صفحات