پدرام بهروزی

کار با Composer در مجنتو

getting_started_with_composer
همه‌ی آنهایی که با مجنتو نسخه‌ی ۱ کار کرده‌اند می‌دانند که باید با پوشه‌های زیاد و تودرتو سر و کله بزنند. به طور مثال برای نصب کردن افزونه‌ی وبلاگ ساخت شرکت aheadWorks باید فایل‌های افزونه در این پوشه‌ها قرار داده شود:

  • app/code/community
  • app/code/local
  • app/design/adminhtml
  • app/design/frontend
  • app/locale/en_US
  • app/locale/fa_IR (اگر افزونه نیازمند فارسی‌سازی باشد)
  • app/etc/modules
  • js
  • lib
  • skin/adminhtml
  • skin/frontend

معمولا فروشگاه‌های ساخته شده با مجنتو به بیش از یک افزونه نیازمندند. درگاه‌های بانکی (ملت، سامان، پاسارگاد و غیره)، افزونه‌های ارسال پستی (پست پیشتاز، تیپاکس و غیره)، وبلاگ، ارسال پیامک، شهرها و استان‌های ایران، افزونه‌های آنالیز (piwik و google analytics)، ارتباط با مشتری (zopim و olark) و بسیاری دیگر. این افزونه‌ها کمک می‌کنند تا مشتریان تجربه‌ی خرید راحتی داشته باشند و مدیران بتوانند خدمات بهتری ارائه دهند.

۶ نظر
ادامه‌ی مطلب را بخوانید
میثم امیدالحق

کدام نسخه‌ی مجنتو برای شما مناسب‌تر است؟

building_back_and_front

یکی از چالش‌های مهم مشتریان سارینا، انتخاب بین نسخه‌ی عمومی و سازمانی مجنتو است. ما در حین جلسات بررسیِ درخواست مشتریان اغلب با این سوالات مواجه می‌شویم:
«آیا نسخه‌ی عمومی مجنتو (Magento Community) می‌تواند پاسخگوی کلیه‌ی نیازهای فعلی و آتی ما باشد؟» «چه امکاناتی در نسخه‌ی سازمانی مجنتو (Magento Enterprise) وجود دارد که در نسخه‌ی عمومی وجود ندارد؟» «خدمات سارینا روی کدام نسخه از مجنتو ارائه می‌شود؟» «آیا امکان انتقال از نسخه‌ی عمومی به نسخه‌ی سازمانی وجود دارد؟»
در ادامه به بررسی وجوه تمایز نسخه‌ی سازمانی و عمومی مجنتو و همچنین نقش سارینا به عنوان ارائه کنند‌ه‌ی خدمات تخصصی مجنتو می‌پردازم.

یک نظر
ادامه‌ی مطلب را بخوانید
ارمغان فائزی

مجنتو: تم راست‌چین یا راست‌چین کردن تم؟

blogcart_rtling_or_buyingrtl

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

یک نظر
ادامه‌ی مطلب را بخوانید
علیرضا الیادرانی

وب برای همه: مسئولیت انسانی طراح وب

دسترسی‌پذیری برای همه

take_me_web

چند سال پیش که مدیر پروژه‌ی فروشگاه اینترنتی ورچین بودم، تلفنمان برای کارهای مختلفی زنگ می‌خورد. اغلب بازاریاب بودند یا می‌خواستند پروژه‌ی دانشجویی‌شان را با بررسی فروشگاه اینترنتی ورچین انجام دهند. در یکی از تماس‌ها، آقای جوانی که خیلی مؤدب و خوش صحبت بود تقاضای متفاوتی داشت:« من نابینا هستم و خیلی دوست داشتم از فروشگاه شما خرید کنم، اما وب سایت شما برایم قابل استفاده نیست.» برایم از ابزارهای کمکی‌اش گفت و توضیح داد آن‌ها چطور وب‌سایت‌ها را «می‌خوانند». این ابزارها در عین حال که خیلی کارآمد هستند ،آنقدر هوشمند نیستند که ذهن طراح سایت را بخوانند. طراح سایت باید آنها را راهنمایی کند.

۲ نظر
ادامه‌ی مطلب را بخوانید
فرزان بالکانی

حق‌تقدم در CSS یا CSS Specificity

نقاشی بعد از شما، براکت

یکی از رایج‌ترین مشکلاتی که در هنگام کار با CSS وجود دارد، درک نادرست از چگونگی حق تقدم سلکتورها است.
این مشکل آنجا خودش را حسابی نشان می‌دهد که بخواهید CSS نوشته شده‌ی خودتان را بر روی CSS دیگری اعمال کنید، مانند راست‌چین کردن یک قالب.
نمود دیگر این مشکل زمانی آشکار می‌شود که یک وب‌اپلیکیشن پیچیده طراحی کنید و به دلیل بزرگی آن، بی‌دلیل در داکیومنت خود کلاس و ID ایجاد کنید.

۶ نظر
ادامه‌ی مطلب را بخوانید
سینا سیادت

چطور با مشکل بروزرسانی میلیون‌ها رکورد در Rails کنار نیامدیم

نقاشی حرکت بر روی ریل‌ها
آیا متد find_each را می‌شناسید؟ اگر با Ruby on Rails کار کرده باشید حتماً از این متد استفاده کرده‌اید. find_each و متد مشابه آن each، برای گرفتن رکوردها به صورت تک‌تک استفاده می‌شوند. به عنوان مثال:

People.find_each(&:party_all_night!)
People.each(&:party_all_night!)

تفاوت بین find_each و each در نحوه‌ی پیاده‌سازی آنهاست. متد each تمام رکوردها را در یک آرایه ذخیره می‌کند و یک Enumerator برای این آرایه خروجی می‌دهد. حالا فرض کنید تعداد رکوردها چند میلیون باشد. تمام این چند میلیون ActiveRecord باید در حافظه ذخیره شوند. میزان مصرف حافظه سرسام‌آور خواهد شد. این می‌تواند مشکل‌ساز باشد، مخصوصا برای پروسس‌هایی که عمر طولانی دارند چون که Ruby حافظه‌ی گرفته شده را به سیستم پس نمی‌دهد (و در عوض در آینده از آن دوباره استفاده می‌کند).

۴ نظر
ادامه‌ی مطلب را بخوانید