ماژول JS Injector، افزودن جاوا اسکریپت به دروپال از بخش مدیریت

ماژول JS Injector، افزودن جاوا اسکریپت به دروپال از بخش مدیریت

ماژول ها یا theme ها می توانند به صفحات یک سایت که با دروپال ساخته شده است، کدهای جاوا اسکریپت اضافه کنند. این کد ها ممکن است درون تگ های script درون محتوای صفحه قرار بگیرند و یا در فایل js به صفحه ضمیمه شوند. بنابراین دو راه برای افزودن کد جاوا اسکریپت به صفحات دروپال به شکل نرمال، وجود دارد. یا باید یک ماژول جدید پیاده سازی کرد و با کد های PHP به محتوای صفحات اضافه کرد یا اینکه با افزودن از طریق Theme فعال شده در سایت، این کار را انجام داد.

در بعضی از موقعیت ها این امکان وجود دارد که مدیر سایت یا هر فرد دیگری مایل باشند، اسکریپت های جدیدی به صفحه ها بیافزایند. یا موقعیتی را در نظر بگیرید که با استفاده از سیستم مالتی سایت دروپال، چند سایت را پیاده سازی کرده ایم که از یک theme استفاده می کنند. ولی در قالب هر سایت، باید افکت هایی با استفاده از JQuery افزوده شود که از سایت دیگر متفاوت است. اگر چه می توان از راه حل های بیان شده در قبل، اسکریپت ها را در صفحه قرار داد یا ضمیمه کرد اما یک راه مناسب و آسان، افزودن اسکریپت ها از طریق مدیریت دروپال (back-end) است. در هر صورت ضمن اینکه مایل نیستیم دسترسی به فایل های سایت بدهیم، خوب است که این کار مانند سایر عملیات های مدیریتی از یک رابط واحد انجام شود.

ماژول JS Injector

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

نصب ماژول در دروپال

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

sites/all/modules

 extract کنید. بعد از آن به صفحه مدیریت ماژول های دروپال رفته و این ماژول را از گروه Other پیدا کرده و فعال کنید.

نصب ماژول JS Injector در دروپال

چک باکس کنار نام این ماژول را علامت زده و دکمه Save configuration در پایان صفحه را کلیک کنید.

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

با نصب و فعال سازی این ماژول صفحه مدیریتی جدیدی به دروپال اضافه می شود که مدیریت اسکریپت ها از طریق آن انجام می شود. برای دستیابی به این صفحه به بخش پیکربندی (Configuration) در دروپال رفته و در گروه توسعه (Development) ، لینک JS Injectpr را کلیک کنید تا به صفحه اصلی این ماژول وارد شوید.

صفحه مدیریت ماژول JS Injector در دروپال

در ابتدا هیچ قطعه کدی اضافه نشده است. برای افزودن یک قطعه کد جدید روی اکشن لینک Add کلیک کنید تا وارد فرم افزودن یک قطعه کد Javascript شوید. نمونه ای از این صفحه را در ادامه مشاهده می کنید.

در ااین فرم در فیلد Friendly name یک نام با معنی یکتا برای این اسکریپت JS بنویسید. در فیلد Description، یک توضیح کوچک جهت مستند سازی بنویسید. در فیلد JS Code مشخصا باید کدهای جاوا اسکریپت (و JQuery) که مایل هستید به سایت اضافه کنید را بنویسید.

افزودن قطعه کد جاوا اسکریپت به دروپال با استفاده از ماژول JS Injector

در گروه Placement options باید درباره محل قرار گیری این اسکریپت ها تصمیم گیری کنید. در فیلد انتخابی Position of the javascipt مشخصاً باید تعیین کنید که آیا کد مورد نظر شما باید در هدر قرار بگیرد یا در فوتر. 

چک باکس Preprocess JS نیز مشخص می کند که آیا این قطعه کد JS با سایر کد های JS سایت می تواند ادغام و یکپارچه شود یا خیر. در صورتی که آن را علامت بزنید و دوباره بخواهید قطعه کد را ویرایش کنید، باید پس از ذخیره یکبار Cache سایت را پاک کنید. علامت زدن این گزینه به بهبود عملکرد سایت می تواند کمک کند.

علامت زدن چک باکس Inline JS باعث می شود که کد جاوا اسکریپت در تگ های اسکریپت درون صفحه قرار بگیرد.

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

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

مدیریت قطعات کد JS در دروپال

محدودیت دسترسی به ماژول JS Injector

ماژول JS Injector یک مجوز دسترسی (permission) برای محدود کردن دسترسی نقش های مختلف سایت برای مدیریت اسکریپت های JS تعریف کرده است. با مراجعه به صفحه مدیریت مجوز های دروپال (admin/people/permissions)، در گروه JS Inbjector، مجوز Administer JS injector را بیابید و برای نقش های مورد اعتماد، فعال کنید.

نظرات

ممنون به خاطر مقاله خوبتون.

تصویر admin
سینا جان، ممنون از اینکه نظر خود را بیان کردید. نظرات بازدیدکنندگان عزیز موجب دلگرمی و ادامه کار است.

سلام. ببخشید. من این افزونه رو نصب کردم. ولی عال نمیشه.
چیکار کنم؟
این پیغام رو نشون میده کنارش:
http://8pic.ir/images/ah8kqg6guaq0nk8alpuh.png

تصویر admin
جعفر خان برای نصب این ماژول به ماژول ctools هم نیاز دارید که باید آن را در هم پوشه ماژول های دروپال قرار بدهید. ماژول ctools یا chaos tools suite

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

این پیغام اومده:
http://8pic.ir/images/rrhrqsjjad75fzrlfziu.png

تصویر admin
شما همین که Ctools را داشته باشید می توانید js injector را نصب کنید. نیازی به فعال کردن همه ماژول های بسته Ctools نیست.

کلا مشکل داره. منم که گیج میزنم. نمیدونم چیکار کنم :-((

اینو ببینید
http://8pic.ir/images/ljy6lcvusyg02wajn708.png

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

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

ارسال نظر