کتابخانه پی اچ پی - CssToInlineStyles
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 5 دقیقه

کتابخانه پی اچ پی - CssToInlineStyles

معرفی
 همان طور که میدانید برای ساخت یک ایمیل در قالب HTML  ،کد‌های CSS باید بصورت inline نوشته شود. CssToInlineStyles این کار را به راحتی برای‌مان انجام خواهد داد. کافیست تا کد های خود را در یک فایل css  بنویسید تا این کتابخانه با استفاده از انتخاب‌گرها، کد‌ها را به تگ‌های  مناسب خود اختصاص دهد.در واقع کار این کتابخانه تبدیل فایل های css به صورت inline میباشد که قادر میسازد که ما بتوانیم در محیط کاربری تحت وب ایمیل هایی در قالب HTML برای کاربران و جامعه ی هدف خود ارسال نماییم.


use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles; 
// create instance 
$cssToInlineStyles = new CssToInlineStyles(); 
$html = file_get_contents(__DIR__ . '/examples/sumo/index.htm'); 
$css = file_get_contents(__DIR__ . '/examples/sumo/style.css'); 
// output echo $cssToInlineStyles->convert( $html, $css );

نحوه ی ارسال ایمیل با قالب html

 حتما برای شما ایمیل هایی با قالب های html,css برای شما ارسال شده است،اماچگونه این ایمیل ها ارسال میشوند و چگونه میتوانیم در پروژه ی خود سیستمی طراحی کنیم که بتوانیم از طرف مدیر سایت ایمیلی با این قالب به کاربران و جامعه ی هدف خود ارسال نماییم؟برای پاسخ به سوالات بالا با ادامه ی این مقاله همراه باشید:

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

همان طور که می دانید اپراتور های ایمیل هر کدام به نحوی که برای سرویس خود تعیین کرده اند کد های HTML  و محتوای Email  را Render  و پردازش میکنند.این امر باعث میگردد که در اپراتور های مختلف برخی از تگ ها و کلاس های css  به خوبی نمایش داده نشوند در نتیجه ایمیل شما به خوبی دیده نمیشود.در واقع زیاد به نحوه پردازش CSS  ها توسط اپراتور های ایمیل نمیتوان اعتماد کرد و ممکن است Layout  شما که توسط  تگ های  div  ویا هر تگی که باCSS  به آن Style  می دهید چیدمان بهم ریخته یا نادرستی داشته باشد.حال برای این که تمام اپراتور های ایمیل بتوانند ایمیل ارسالی شما را پردازش و نمایش دهند باید از تگ هایی استفاده نمایید که اکثر اپراتورها به عنوان یک قالب استاندارد میتوانند آنرا ترجمه و پردازش کنند. قالب ایمیل و چیدمان و Layout آن می بایست فقط با جدول و تگ های table, td, tr, tbody, tfoot, thead, th و خصوصیات عناصر جداول صورت گیرد برای مثال colspan, rowspan  و دیگر خصوصیات که جداول می پذیرند ونباید با استفاده از Div  و دیگر تگ های HTML5  این کار را انجام داد.همچنین ترجیحا به جای استفاده از colspan  و rowspan  از جداول تو در تو استفاده کنید.این کار باعث میشد تا اپراتور های ایمیل به صورت استاندارد بتوانند تگ های شمارا ترجمه و متن ایمیل شمارا چاپ نمایند.

یکی دیگر از اشکالات رایج این است که برخی اپراتور های Email  تگهای Style  شما را نادیده میگیرند. و آن را از صفحه یا حذف می کنند یا پردازش نمیکنند. برای حل این مشکل باید تمام CSS های موجود در ایمیل را به صورت Inline  در بین کدهای HTML  بنویسید. اما این کار بسیار طاقت فرساست و وقت گیر . یک راه حل راحت وجود دارد تمام  CSSهای خودتان را در تگ Style بنویسید و بعد از اتمام کار و نهایی شدن جهت ارسال فایل HTML  ای که ساختید را در سایت http://premailer.dialect.ca  آپلود کنید تا این Web Application  تمام CSS های شما به صورت Inlineدرآورد.

اگر برنامه نویس php هستید تمام موارد ذکر شده در بالا میتوانید از کتابخانه ی CssToInlineStyles بدست آورید و به وسیله ی این کتابخانه کدهای مربوط به قالب اچ تی ام ال را به راحتی برای اپراتور های ایمیل ترجمه و قابل چاپ نمایید.

کتابخانه ی CssToInlineStyles تگ ها و کلاس های شما را به زبان اپراتور های سرویس دهنده ایمیل ترجمه و ایمیلی که شما در قالب  HTML ایجاد و ارسال کردیده اید را در اپراتور ها به خوبی و به صورت استاندارد به نمایش در می آورد.

نصب و راه اندازی کتابخانه ی CssToInlineStyles

برای راه اندازی و نصب این کتابخانه از طریق composer میتوانید از کد زیر استفاده کنید:

composer require tijsverkoyen/css-to-inline-styles

برای دریافت composer میتوانید آنرا از لینک https://getcomposer.org/ دانلود کنید.

برای این که مثالی از این کتابخانه داشته باشید به کد های زیر دقت کنید:

use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;



// create instance

$cssToInlineStyles = new CssToInlineStyles();



$html = file_get_contents(__DIR__ . '/examples/sumo/index.htm');

$css = file_get_contents(__DIR__ . '/examples/sumo/style.css');



// output

echo $cssToInlineStyles->convert(

    $html,

    $css

);

 در باره ی این کتابخانه اشکالاتی نیز وجود دارد که در زیر لیستی از آنرا برای شما آماده کردیم:

  • عدم پشتیبانی از شبه انتخابگرها
  • عدم پشتیبانی از css-escapes
  • Utf-8 همیشه درست عمل نمیکند. 
 

برای این که این کتابخانه از utf-8 پشتیبانی کامل کند از متاتگ زیر استفاده کنید:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

دقت کنید که کد زیر کار نمیکند:

<meta charset="UTF-8">
 

 برای آشنای با کتابخونه ای دیگه php اینجا کلیک کنید

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

/@roocketir

باور ما اینست که کاربران ایرانی لایق بهترین‌ها هستند، از این رو ما تمام تلاش خود را می‌کنیم تا بتوانیم فیلم‌ها و مقالات آموزشی بروز و کاربردی را در اختیارتان قرار دهیم تا با استفاده از آنها بتوانید جزء بهترین‌ها در صنعت طراحی و برنامه‌نویسی وب شوید. ما ادعا نمی‌کنیم که بهترین هستیم ولی همیشه تمام تلاش خود را می‌کنیم بهترین عملکرد را به شما ارائه دهیم.

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید