زنجیره اطلاعاتی

توسط amin, 24 مهر, 1395

سلامی به وجود نازنین شما دوستان جان (:

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

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

از طریق این ویژگی می تونید مطالب خودتون را زنجیروار انتشار دهید و همچنین اگر مطالبی از یک سایت غیر دروپالی یا مثلا دروپال قدیمی مثل نسخه 6 دارید به نسخه های جدید تر انتقال بدهید و شاید فشار کمتری را متحمل بشوید.

در این آموزش ما از سه  تا افزونه زیبا بهره خواهیم برد. یکی افزونه views data export  و دیگری افزونه زیبای feeds به همراهی افزونه Feeds extensible parser .

کاری که می خواهیم بکنیم در دو مرحله انجام میشه و خیلی خیلی ساده است. مرحله اول داده ها را به صورت یک فایل json استخراج (export) می کنیم و در مرحله دوم این اطلاعات را داخل سایت های خودمون به صورت خودکار وارد (import) می کنیم.

برای شروع کار زحمت بکشید و یک ویو جدید بسازید (اگر از ایجاد و کار با ویوز بزرگوار بی خبرید که پیشنهاد بنده مشاهده مطالب قدیمی سایت هست - آموزش افزونه ویوز - آموزش پیشرفته افزونه ویوز )

حالا افزونه های گفته شده در بالا به خصوص views data export را نصب بفرمایید. (درباره چگونگی نصب افزونه ها در دروپال هم قبلا توضیحاتی ارایه شده است )

مثلا در تصویر زیر ما یک ویو داریم که آخرین اخبار حوزه دروپال و متن باز را نمایش می دهد :

حال که یک نمایش جدید (display) از این ویو ایجاد کردید از بخش Format روی لینک CSV File کلیک کنید و گزینه آخر یعنی XML File را برگزینید :

در صفحه تنظیمات مربوط به XML File همه گزینه ها را به صورت پیش فرض رها کنید.

حال در بخش فیلدها لازم است تا برای هر گزینه یک Label مناسب مثلا "news-title" وارد کرده و همچنین هیچ گزینه ای به صورت لینک نباشد.

برای تمامی فیلدهای مورد نیاز این عملیات را انجام دهید.

چون قصد داریم مطالب این بخش را داخل یک سایت دیگر منتشر کنیم این جا باید تصمیم بگیرید که استراتژی شما برای این کار به چه صورت می باشد ؟

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

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

یک نکته ای این جا وجود دارد :

برای انتقال دادن تصویر هم چندین روش وجود دارد :

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

ب) خود عکس را هم روی سرورهای جدید منتقل کنید که البته به گفته سازنده افزونه feed که بعدا از آن استفاده می کنیم امکان آپلود کردن تصاویر از طریق آدرس آن ها در سایت های دیگر وجود دارد ولی بنده خودم این مورد را هنوز تست نکرده ام.

من از روش الف استفاده می کنم. برای این کار نیاز دارم که داخل views آدرس تصویر را داشته باشم. برای این کار یا باید یک افزونه جدید تحت عنوان Image URL Formatter استفاده کنم که بتوانم به فیلد آدرس عکس دسترسی داشته باشم ولی من خیلی طرفدار نصب افزونه نیستم. اون هم برای کاری که با خود دروپال میشه انجام داد (:

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

ما در حال حاضر فیلدهای عنوان و آدرس (Content:Path) را اضافه کرده ایم.

تا اینجا اگر به قسمت پایین ویو ساخته شده نگاه کنید با چنین تصویری مواجه خواهید شد :


همان طور که مشاهده می کنید قسمت news-link هنوز مشکل دارد و آدرس را به صورت کامل نمایش نمی دهد. به بخش تنظیمات Content:path می رویم و مطابق تصویر تنظیمات را انجام می دهیم :

حال مشاهده می کنید که روند اصلاح گردیده است : ( کاری که ما کردیم این بود که قبل از آدرس های ناقص نام دامنه کامل سایت را هم اضافه کردیم. یعنی قبلا آدرس ها به صورت node/125/ بودند که حالا مثلا https://www.drupalo.ir هم به اول آن ها اضافه می شود)

حالا میمونه آدرس کامل تصاویر. برای دسترسی به آدرس تصاویر می بایست به جدول تصاویر در داخل پایگاه داده (دیتابیس) دسترسی داشته باشیم که این کار در ویوهای دروپالی مستلزم ایجاد یک ارتباط از نوع relations می باشد :

و بعد در قسمت فیلدها می تونید فایل را انتخاب کنید و تنظیمات را برای نمایش آدرس آن مشخص نمایید :

حالا ببینید چقدر قشنگ و خوب شد :


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

 

(پاییز 95 در دانشگاه صنعتی اصفهان - بین دانشکده شیمی و فیزیک )

متن ساده

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