تصویر محمدعلی اکبری

ابتدا یک نوع محتوا با نام image شامل فیلدی از نوع تصویر بسازید.

سپس برای ایجاد بلوک با فرمت موزائیکی مراحل زیر را انجام دهید:

  1. تعداد زیادی تصویر برای تست وارد سیستم میکنیم.
  2. یک سبک تصویر مربعی مثلا 200 در 200 میسازیم.
  3. همچنین یک خروجی views با فرمت "محتوا-چکیده" نیز میسازیم.
  4. در مدیریت نمایش نوع محتوای تصویر، تعیین می‌کنیم تنها تصویر را با سبک تصویر مربعی گفته شده نمایش دهد.
  5. بلوک مربوطه را از "مدیریت-ساختار-بلوک ها" در صفحه فعال می کنیم.
  6. در پوشه قالب فایل node—image.tpl.php را ساخته و فقط فیلد تصویر را نمایش می دهیم.
<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
  <?php print render($content['field_image']); ?>
</div>

سپس مثل تصویر زیر بعد از کمی حساب و کتاب شروع به نوشتن کدهای CSS می‌کنیم.

برای css زدن چند مورد را در نظر بگیرید:

  1. container باید relative باشد
  2. ابتدا به همه ردیف ها یک css مشترک میدهیم، سپس هر ردیف را به صورت جداگانه موقعیت می دهیم.
  3. ما ادازه بزرگ تصویر را در نظره گرفته ایم و اندازه های کوچکتر را با css ایجاد کرده ایم.

کدهای CSS به صورت زیر است:

.view-id-mosaic .view-content {
  position: relative;
}

.view-id-mosaic .views-row {
  width: 98px;
  height: 98px;
  position: absolute;
  border: 1px solid #ffffff;
  top: 0;
  left: 0;
}

.view-id-mosaic .views-row img {
  width: 100%;
  height: auto;
}

.view-id-mosaic .views-row-1 {top: 0px; left: 0px;}
.view-id-mosaic .views-row-2 {top: 0px; left: 100px; width: 198px; height: 198px;} /*BIG*/
.view-id-mosaic .views-row-3 {top: 0px; left: 300px;}
.view-id-mosaic .views-row-4 {top: 0px; left: 400px;}
.view-id-mosaic .views-row-5 {top: 100px; left: 0px;}
.view-id-mosaic .views-row-6 {top: 100px; left: 300px;}
.view-id-mosaic .views-row-7 {top: 100px; left: 400px;}
.view-id-mosaic .views-row-8 {top: 200px; left: 0px;}
.view-id-mosaic .views-row-9 {top: 200px; left: 100px;}
.view-id-mosaic .views-row-10 {top: 200px; left: 200px;}
.view-id-mosaic .views-row-11 {top: 200px; left: 300px; width: 198px; height: 198px;} /*BIG*/
.view-id-mosaic .views-row-12 {top: 300px; left: 0px;}
.view-id-mosaic .views-row-13 {top: 300px; left: 100px;}
.view-id-mosaic .views-row-14 {top: 300px; left: 200px;}

در نهایت خروجی زیر را خواهیم داشت:

دیدگاه‌ها

تصویر امیر حسین اکبری

امیر حسین اکبری

عنوان عکس ها نشون داده میشه. چیکارش باید بکنم؟

من فایلی رو که گفتین در پوشه template درست کردم.

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام؛ همونجوری که تلفنی صحبت کردیم اشتباه تو این بود که node--image.tpl.php را متوجه نشدی. image توی این نام فایل، اسم ماشینی نوع محتوایی بوده که من برای تست ساختم. برای تو gallery بود پس باید node--gallery.tpl.php رو می‌ساختی.

تصویر soheil

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

سلام . مرسی از آموزشتون

یه ماژولی هم هست که باهاش میشه همچین استایلی رو درآورد "Image Matrix"

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام؛ ممنون از ماژول جالبی که معرفی کردید. ازش اطلاع نداشتم ;)

تصویر Yekta

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

آموزش عالیی بود ممنون ، من قبلا از Masonry استفاده میکردم.

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

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

یک سایت دانلود دروپالی دارم ، حالا می خواهم دانلود رو به صورت VIP درش بیارم ، فایل ها تو یک سرور مجزا هست.
می خواهم طوری بشه کاربر های مثلا با کامرس یک اشتراک ماهیانه سفارش بدن و دسترسی شون برای دانلود فعال بشه.
راه های زیادی رو تست کردم ، مثلا با private file system میشه همچین چیزی راه انداخت ، مشکل اش اینه که اولش فقط روی خود هاست دروپال هست و سرور مجزار نمیشه و دوم اینکه به خاطر که فایلها حجم بالا هستن فشاری زیادی به سرور میاد.

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

نظر شما چیه؟ پیشنهادی دارید؟

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام، بابت پیشنهاد قسمت سوال و جواب خیلی ممنون؛ به زودی این قسمت رو میبینید ;)

در مورد سوال شما، با توجه به بحث های امنیتی باید یک نرم فزار سمت سرور دوم توسعه بدید و برای قسمت دروپال هم integration رو توسعه بدید. چند نکته به ذهنم میرسه:

لزومی به سیستم مدیریت کاربر سمت سرور فایل ها نیست.

1- یک وب سرویس سمت سرور فایل توسعه بدید که با یک روال امنیتی (مثلا API Key) تنها به دروپال مورد نظر پاسخ بده.

ورودی وب سرویس:

شناسه فایل درخواستی

خروجی وب سرویس:

توکن معتبر برای x روز یا y بار دانلود یا نا محدود مثلا xyz123zyx

2- یک اسکریپت برای ارسال فایل به کاربر که به صورت زیر استفاده شود:

http://fileserver.ir/dl.php?t=xyz123zyx

در فایل dl.php دو مورد قبل از ارسال فایل چک شود:

  • ارجاع دهنده یا referer از سمت دامنه مربوط به دروپال باشد.
  • مقدار توکن معتبر باشد.

3- در دروپال بعد از ثبت سفارش و پرداخت از وب سرویس مروبطه یک توکن برای فایل مورد نظر گرفته شود و به نام کاربر در یک جدول سمت دروپال ذخیره شود. و بر اساس آنها لینک های دانلود نمایش داده شود.

 

تصویر Yekta

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

خیلی ممنون بابت راهنمایی.

تصویر حسین

حسین (تایید نشده)

سلام
دوستتون دارم زیاد
قشنگ بود
فقط تنها مشکلش اینه که ریسپانسیو نیست

افزودن نظر جدید