آموزش دروپال - قسمت دهم - پروفایل ها در افزونه IMCE

توسط amin, 2 شهریور, 1392

سلامی به گرمی هوای گچ ساران :)

امیدوارم یک روز خوب و گرم تابستانی را سپری کنید

با توجه به سوال یکی دو تا از دوستان تصمیم گرفتم تا در این مقاله براتون نحوه ایجاد پروفایل برای ckeditor و imce  را توضیح بدهم.

همان طور که قبلا هم گفته بودم یکی از بهترین ویرایش گرهای متنی حال حاضر برای دروپال همین ckeditor می باشد که از نوع wysiwyg یعنی what you see is what you get هست و این نام گذاری بر می گردد به زمان های قدیم که ویرایشگرها خیلی خوب نبودند و این نسل جدید قرار بود همان طوری که شما در ویرایش گر متن را اصلاح می کنید به همان صورت صفحات HTML را برای شما بسازند.

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

بله درست فکر کردید امکانی برای آپلود کردن عکس و فایل در خلال متن که خود ویرایش گر ckeditor امکانات خوبی برای این کار ندارد و ما مجبور به استفاده از افزونه ای به نام imce هستیم.

این افزونه را دانلود و نصب کنید.

قبلا در یک مقاله نحوه ایجاد پروفایل برای ویرایش گر را توضیح داده بودم ولی به صورت خلاصه اگر در صفحه مربوط به ویرایش گر بروید (admin/config/content/ckeditor) می توانید یکی از پروفایل های پیش فرض را برای خودتان شخصی سازی کنید و یا یک پروفایل جدید بسازید.

اصولا پروفایل ها کاربردی که دارند مربوط به زمانی است که شما کاربران مختلف داخل سایت دارید که امکانات متفاوت تری می خواهند. برای مثال ممکن است سایت شما عده ای کاربر داشته باشد که تنها می توانند داخل سایت دیدگاه بگذارند که برای آن ها پروفایل Filtered HTML را مورد بهره برداری قرار می دهیم یا حتی می توانیم پروفایلی جهت Plain Text برای آن ها ایجاد کنیم ولی یک زمانی شما تعدادی کاربر دارید که داخل سایت مقاله می نویسند و باید برای آن ها از پروفایلی که Full HTML را پشتیبانی می کند بهره بگیرید.

حالا یک بحثی این وسط هست؟ فرض کنیم که ما تعدادی کاربر داریم که می توانند داخل سایت ما امکان خاصی داشته باشند و بتوانند عکس یا فایل بار گذاری کنند و برای آن ها توضیحاتی را نیز بنویسند. خوب حالا اولین سوالی که مطرح می شود این است که عکس هایی که آپلود می کنند به چه صورت ذخیره شود ؟ در کدام پوشه ذخیره شود؟(آیا هر کاربر پوشه مجزا داشته باشد؟) هر کاربر چقدر فضا برای آپلود داشته باشد ؟ (کاربران با پرداخت هزینه بتوانند فضای بیش تری برای فایل های خود مهیا کنند؟) و از این قبیل سوالات که خوشبختانه تمامی این سوالات در افزونه imce جواب داده شده است.

اگر از قسمت پیکر بندی وارد صفحه مدیریت این افزونه یعنی گزینه IMCE بشوید ملاحظه می کنید که مانند ویرایشگر ckeditor تعدادی پروفایل آماده وجود دارد به نام User-1 , sample profile که User-1 برای صاحب سایت (کاربر با شماره 1 )  و دیگری به صورت نمونه ایجاد شده است. روی گزینه ویرایش مقابل sample profile کلیک نمایید.

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

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

گزینه سوم که تیک آن هم خورده به شما اجازه می دهد در صفحه مدیریت اطلاعات حساب کاربری خود ( به آدرس /user) بتوانید فایل های خود را مدیریت کنید که برای مثال در تصویر زیر آن را مشاهده می کنید:

گزینه Maximum file size per upload به این معناست که هر فایلی که کاربر بخواهد آپلود کند حجمش چقدر باشد که البته این میزان تحت تاثیر دو مقدار   upload_max_filesizeو  post_max_size در داخل فایل php.ini می باشد. پس اگر دیدید که مقدار این عدد را مثلا روی 30 تنظیم می کنید ولی در هنگام آپلود به شما مثلا بیش از 10 مجوز نمی دهد به خاطر این است که مقادیری که گفتم مانع از این حرکت می شوند و اگر از هاست اشتراکی بهره می برید باید با آن ها صحبت کنید که این مقادیر را برای شما زیاد کنند و اگر موافقت کردند که هیچ اگر نه که باید بروید سراغ اف تی پی (FTP) و با کمک ساخت یوزر برای آن به صورت دستی کار خود را راه بیندازید که بعید است که سایتی که به این درجه از خفنیت رسیده که می خواهید این بلا را سرش بیاورید و تعداد کاربران شما نیز زیاد است و دستی نمی توانید برای آن ها اف تی پی بسازید روی هاست اشتراکی باشد و حتما وی پی اس (VPS) دارید که بر این اساس به راحتی می توانید مقادیر گفته شده در بالا را داخل فایل php.ini تغییر دهید و با یک بار رستارت (restart) کردن سرویس آپاچی (apache) یا httpsd این مقادیر جدید جایگزین خواهند شد.

گزینه Directory quota هم به شما می گوید که برای هر شخص در کل چه میزان فضا اختصاص دهد. شما خواهید دید که پس از اتمام این عملیات هنگامی که یکی فایل جدید بارگزاری می کنید یک پوشه برای آن کاربر خاص ساخته می شود (نام آن را می توانید بر اساس نام کاربری و یا شماره کاربری انتخاب کنید) و اندازه کلی این پوشه در این گزینه مشخص می شود. مثلا برای این پروفایل که مربوط به کاربران عادی است این عدد برابر 20M باشد و بعد یک پروفایل دیگر برای کاربران خاص (VIP) بسازید و این مقدار برای آن ها 50 مگابایت باشد.

قسمت های Permitted file extensions و Maximum image dimensions که واضح است از فرمت فایل ها و ابعاد عکس ها صحبت می کنند. ( می بینید که چقدر راحت داریم قانون یا policy برای کاربران خود اعمال می کنیم ، دم دروپال گرم)

قسمت Maximum number of files per operation را هم بدون تغییر رها کنید.

در بخش Directories پوشه ها را مشخص می کنیم. گزینه اول آدرس u%uid را نوشته که یعنی برای هر کاربر در هنگام اولین آپلود آن یک پوشه به نام مثلا u123  یا u50 ساخته می شود که uid همان شماره کاربر است که دروپال به صورت اتوماتیک برای هر کاربر یک شماره اختصاص می دهد.(یادتون هست کاربر شماره 1 یا همون صاحب سایت که قبلا باهاش برخورد داشتیم)

البته در پایین اون توضیح داده که می توانید برای نام گذاری پوشه از کد PHP هم استفاده کنید مثلا این کد

php: return 'users/'.$user->name;

که باعث می شود از نام کاربری برای ساخت پوشه استفاده شود و همه پوشه ها درون یک پوشه به نام users ایجاد می شوند. برای مثال آدرس کاربری با نام کاربری Amin  می شود sites/default/files/users/Amin که فایل های این کاربر در این پوشه بار گذاری می شوند.

می توانید در جلوی قسمت مشخص کردن نام مجوزهای دیگری هم بدهید که از جمله BROWSE که اجازه می دهد شخص بتواند فایل های قبلی خود را که بار گذاری کرده ببیند و بار گذاری که به معنای مجوز بار گذاری فایل جدید است و THUMBNAILS که اجازه می هد بتواند از عکس بار گذاری شده با اندازه کوچک تری که شما تعین کرده اید استفاده کند و مجوزهای حذف کردن فایل ها و همچنین تغییر اندازه دادن عکس ها هم در این قسمت مشخص شده اند.

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

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

البته مثال ها و کاربردهای این قسمت خیلی زیاده و فقط خواستم یکم دیدتون را عمقی تر کنم.

در قسمت Thumbnails هم می تونید نام و اندازه و مشخصات thumbnail های خودتون را مشخص کنید که مثلا یک اندازه استاندارد را این جا قرار می دید با نام article standard و به کاربران می گید که از این thumbnail برای تصاویر داخل مقالات استفاده کنند تا همه یک اندازه و استاندارد باشه و از این قبیل قرتی بازی ها !!!

بعد از این که این پروفایل را به سلامتی ذخیره کردید از قسمت Role-profile assignments می تونید مشخص کنید که چه نقش هایی از این پروفایل جدید شما استفاده کنند. حتی می تونید برای فایل های خصوصیشون هم جداگانه پروفایل داشته باشید.

در تصویر پایین می تونید مشاهده بفرمایید که اگر در داخل پروفایل advanced مربوط به ویرایشگر ckeditor من در قسمت browser اون گزینه imce را انتخاب می کنم و بر همین اساس هم زمانی که می خوام در داخل یک فایل متنی ازش استفاده کنم گزینه full html را از پایین متن انتخاب می کنم و با این کار اتوماتیک پروفایل advanced ویرایشگر لود می شه که اگه روی لینک تصویر کلیک کنم می بینید که من می تونم گزینه file browser را انتخاب کنم و عکس آپلود کنم و یا از عکس های قبلی آپلود شده بهره ببرم.

خوب این آموزش هم تمام شد و امیدوارم که بتونید ازش در پروژه هاتون استفاده بفرمایید. تا بعد ...

 

چیزهایی در زندگی هست که بر چسبی روی خود دارند

با این مضمون :

"تو قدر مرا نخواهی دانست

مگر این که مرا از دست بدهی

و دوباره به دست بیاوری"

پائولو کوئیلو

متن ساده

  • No HTML tags allowed.
  • نشانی‌های وب و پست الکتونیکی به صورت خودکار به پیوند‌ها تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.

elemen (تایید نشده)

10 سال 3 ماه قبل

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

علیرضا (تایید نشده)

10 سال 2 ماه قبل

سلام دوست عزیز با تشکر از سایت خوبتون
من میخواهم یه سایت طراحی کنم که داخلش بتونم از یه سری کاریرای خواص ثبت نام انجام بدم
آیا با دروپال می تونم ؟
چگونه ؟
با تشکر و سپاس

amin

10 سال 2 ماه قبل

In reply to by علیرضا (تایید نشده)

علیک سلام

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

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

علیرضا (تایید نشده)

10 سال 2 ماه قبل

با سلام وتشکر
میخواهم اطلاعات ثبت نام داخل اکسل داشته باشم چکار کنم
آیا میشه دروپال را به sql2000 یا sql2008 وصل کرد

amin

10 سال 2 ماه قبل

In reply to by علیرضا (تایید نشده)

منظورت این هست که اطلاعاتی که توسط دروپال دریافت کردی را داخل فایل اکسل داشته باشی ؟ اگر بله یک افزونه به نام Views Export XLS هست که اجازه میده جدولی که توسط یک views ساختی را بتونی در قالب یک فایل xls دانلود کنی.

اتصال به sql را هم دروپال 7 تا یک حدی یادم هست که پشتیبانی می کرد شاید بد نباشه این آدرس و همچنین این مورد را هم یک نگاهی بندازید ولی خودم شخصا تا به حال نیاز به انجام این کار نداشتم.