کلاس PHP برای ساخت قالب. استفاده از فایل های tpl نحوه ایجاد فایل های tpl در php

سلام به همه من می خواهم دوچرخه دیگری را که با زبان PHP نوشته شده است را ارائه دهم شیء سندمدل. چه تفاوتی با سایر نمایندگان سه چرخ از همان گونه دارد؟ در واقع، تفاوت های زیادی وجود ندارد، بهترین های بسیاری را با هم ترکیب می کند. مثلا:

1. جداسازی کامل html و php.
2. بدون برچسب اضافی در الگوهای مانند


3. امکان جاسازی محتوای فایل های قالب دیگر در طرح، هم از php و هم با استفاده از تگ مخصوص در طرح.
4. امکان ایجاد هر تگ html در پرواز.
5. قابلیت ذخیره در فایل htmlهر چیزی که تولید و جمع آوری شد.
6. بررسی وجود فایل html صفحه درخواستی قبل از تولید قالب.

برای اینکه فوراً برای همه روشن شود که استفاده از آن چقدر راحت و آسان است، می گویم و نشان می دهم که چگونه از آن برای ایجاد یکی از پروژه هایم استفاده کردم (من گمان می کنم که همه پروژه هایم را برای آن بازنویسی کنم).

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

بنابراین، ابتدا سازنده کلاس را فراخوانی می کنم و تمام پارامترهای مورد نیاز را در آن قرار می دهم:

$ tpl = قالب جدید. $ tpl -> ext = TPL_EXTENSION; # پسوند فایل ها در دایرکتوری الگو $ tpl -> htm = CACHE_EXTENSION; # پسوند برای صفحاتی که قبلا ایجاد شده اند $ tpl -> skin_dir = DIR_TEMPLATES; # دایرکتوری حاوی همه الگوهای سایت (مثلاً الگوها) $ tpl -> js_dir = DIR_JS; # دایرکتوری که در آن باید به دنبال فایل های JS بگردید $ tpl -> css_dir = DIR_CSS; # دایرکتوری که CSS در آن قرار دارد $ tpl -> img_dir = DIR_IMG; # دایرکتوری که در آن تصاویر $ tpl -> skin = $ _SESSION ["skin"]; # نام قالبی که می خواهم از $ tpl استفاده کنم -> cache = DIR_CACHE; # محل ذخیره html تمام شده $ tpl -> log = FILE_T_LOGS; # محل نوشتن گزارش‌ها $ tpl -> tag_start = SYMBOL_START_TAG; # کاراکتری که متغیرهای قالب با $ tpl -> tag_end = SYMBOL_END_TAG شروع می‌شوند. # کاراکتری که به متغیرهای قالب پایان می‌دهد $ tpl -> dir_delimeter = DIRECTORY_SEPARATOR; $ tpl -> space = SYMBOL_SPACE; # کاراکتر جایگزین فاصله.
Fuf، مانند همه متغیرها، اجازه دهید به جلو برویم.
برای اینکه کلاس را مجبور به انجام کارهای غیر ضروری نکنیم، ابتدا بررسی می کنیم که آیا از قبل یک فایل Html آماده از صفحه درخواستی داریم یا خیر.
if ($ tpl -> TestPageStatus () === TRUE) (نیاز به $ tpl -> cacheFileName;) else ($ tpl -> صفحه ("index")؛ # نام فایل الگو را ارسال کنید، به هر حال، شما می تواند چندین مورد از آنها را منتقل کند، که با کاما از هم جدا شده اند $ tpl -> assign ("HEAD"، $ head)؛ $ tpl -> assign ("CONTENT"، $ page)؛ $ tpl -> build ()؛ # دستور را به الگوی $ tpl -> ShowPage (); # خروجی را بسازید.)
در اینجا تمام روش هایی که برای نمایش صفحه باید استفاده کنید آورده شده است.

حال بیایید به چند روش مفید دیگر از این کلاس نگاه کنیم. فرض کنید که ما قبلاً هر آنچه را که نیاز داریم به کلاس منتقل کرده ایم، اما هنوز به آن دستوری برای خروجی نداده ایم، زیرا ناگهان به یاد آوردیم که باید چندین تگ Html در قالب ایجاد کنیم. انجام این کار نیز بسیار آسان است. ابتدا باید بلوکی را پیدا کنیم که می خواهیم چیزی در آن اضافه کنیم. شما می توانید آن را به 2 روش پیدا کنید:

$ tpl -> findById ("findMe"); $ tpl -> findByTagName ("div");
متد findById به طور منطقی فرض می‌کند که همه شناسه‌های برچسب در قالب منحصربه‌فرد هستند. و متد findByTagName اولین مورد منطبق را برمی گرداند.
باید نتیجه ای را که با جستجو به دست آوردیم به متد $ tpl -> createChild () منتقل کنیم تا بتوانیم تگ های فرزند را در عنصر یافت شده ایجاد کنیم. متد createChild اتفاقاً بعد از ایجاد یک عنصر جدید، آن را به ما برمی گرداند تا بتوانیم از عنصر جدید ایجاد شده در جای دیگری استفاده کنیم.

با گشتن و آزمایش، 3 راه برای ایجاد برچسب در یک الگو پیدا کردم، بنابراین 3 مثال را همزمان به شما نشان خواهم داد. مثال 1:

ما باید ایجاد کنیم

داخل

$ پدر = $ tpl -> findById ("والد"); $ tpl -> createChild ($ پدر، "div"، "id = فرزند، کلاس = تست");
ما گرفتیم:


مثال 2:

ما باید ایجاد کنیم

مقداری متن
داخل

$ پدر = $ tpl -> findById ("والد"); $ tpl -> createChild ($ والد، "div"، "id = فرزند، کلاس = تست"، "برخی متن");
ما گرفتیم:

مقداری متن

مثال 3:
ما باید ایجاد کنیم

گزینه جدید
در اولین عنصر دهانه ای که با آن روبرو می شود

$ پدر = $ tpl -> findByTagName ("span"); # (1) $ tpl -> createChild ($ پدر، "div"، "Element جدید"); # (2)
(1) جستجوی والدین نه با شناسه، بلکه با برچسب، اولین مورد منطبق را پیدا می کند
(2) اگر به ویژگی ها نیاز نداشته باشیم، بلکه فقط به مقدار عنصر جدید نیاز داشته باشیم، می توان آنها را حذف کرد.

ما گرفتیم:

گزینه جدید

و بعد از این دستکاری ها، من از قبل با ShowPage تماس گرفتم. و در اینجا به 2 نکته جالب دیگر می رسیم.
حالتی را تصور کنید که ما یک الگو داریم، فرض کنید یک الگوی list.tpl با لیستی از مثلاً تلفن های همراه است:

(CONTENT.Brand)

(CONTENT.Model)

(CONTENT.Info)

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

(CONTENT.Brand)

(CONTENT.Model)

(CONTENT.Info)
یک بلوک دیگر

سپس در چنین شرایطی مجبور خواهیم شد با بسته بندی تلفن همراه خود از یک ترفند کوچک استفاده کنیم

(CONTENT.Brand)

(CONTENT.Model)

(CONTENT.Info)
یک بلوک دیگر

در این صورت تمام گوشی های موبایل یکی پس از دیگری در داخل ظاهر می شوند
، و "بلاک دیگری" در زیر باقی خواهد ماند.

و اگر چیزی را فراموش نکرده باشم، آخرین لحظه اضافه کردن محتوای قالب های دیگر به قالب فعلی است.
من دوباره به تخیل شما متوسل می شوم.

تصور کنید که طراح صفحه‌آرایی می‌خواهد محتویات فایل page.html به بلوک فایل list.html اضافه شود، برای این کار او در جای مناسب در فایل list.html اضافه می‌کند. صفحهو وقتی کلاس این تگ را ببیند با محتوای فایل page.html جایگزین می شود

تعداد این درج ها محدود نیست و مکان آنها مطلقاً حیاتی نیست، بنابراین می توانید آنها را به دلخواه و در هر مقداری درج کنید.

احتمالاً همین است، اگر چیزی به یاد آوردم، به شما اطلاع خواهم داد. ممنون که تا آخر خواندید

برچسب ها: php، کلاس، قالب، موتور قالب، تجزیه کننده

پس از خلقت اطلاعات-file، در اصل، موضوع قبلاً تعریف شده است. یعنی می توانید به بخش مدیریت تم ها بروید http://mysite.ru/admin/build/themesو موضوع خود را در آنجا قرار دهید. به طور طبیعی، پس از روشن کردن آن، هیچ طرحی را مشاهده نخواهید کرد - صفحه به سبک "سیاه روی سفید" - متن سیاه در پس زمینه سفید به خود می گیرد.

با این حال، من می خواهم توجه داشته باشم که با وجود این واقعیت که در موضوع ما هیچ فایلی به جز وجود ندارد mytheme.infoدروغ نمی گوید، سایت به همان روش قبلی کار خواهد کرد - نمایش تمام محتوا، اضافه کردن بلوک به مناطق ( http://mysite.ru/admin/build/block) و غیره. این به دلیل این واقعیت است که هسته دروپال شامل می شود ماژول های مورد نیاز، که حتی در صورت عدم وجود هیچ فایلی در موضوع شما (به استثنای فایل اطلاعات)، به شما امکان می دهد به کار با دروپال ادامه دهید.

در اصل، تمام ایجاد الگو به فایل‌های الگوی همپوشانی کاهش می‌یابد (آنها پسوند دارند tpl.php) ماژول های استاندارد ما CMS.

مهمترین فایل tpl (tpl کوتاه شده است قالب، الگو) است page.tpl.php... او مسئول ساخت هر صفحه از سایت است. بیایید ببینیم فایل قالب از چه چیزی تشکیل شده است:

  • کد html
  • کد php
  • کد جاوا اسکریپت(لازم نیست)

دروپال داده های سایت را در قالب متغیرهای استاندارد به هر فایل قالب منتقل می کند. برای هر فایل قالب 2 نوع متغیر وجود دارد:

  • متغیرهایی که فقط به این فایل ارسال می شوند
  • متغیرهایی که به همه فایل ها ارسال می شوند

در اینجا لیستی از تمام متغیرهای مربوط به آن وجود دارد page.tpl.php:

متغیرهای رایج (برای همه فایل ها):

  • مسیر_پایه $- مسیر پایه که دروپال در آن نصب شده است
  • $ css- آرایه ای از فایل های css متصل به فایل قالب فعلی
  • دایرکتوری $- مسیر پوشه ای که تم در آن نصب شده است
  • $ is_front- اگر در صفحه اصلی هستید، TRUE را برمی گرداند
  • $ loged_in- اگر وارد سیستم شده باشید، TRUE را برمی گرداند
  • $ is_admin- اگر به پنل مدیریت دسترسی دارید، TRUE را برمی گرداند

فراداده صفحه

  • زبان $- (یک ​​شی) زبان فعلیکه در سایت نمایش داده می شود
  • زبان $-> زبان- حاوی نمایش متنی آن است
  • $ language-> dir- حاوی جهت زبان است. یا "ltr" (از چپ به راست) یا "rtl" (راست به چپ) خواهد بود.
  • $ head_title- نسخه اصلاح شده عنوان صفحه، برای استفاده بین برچسب ها
  • سر دلار- بین تگ ها درج شده است ... حاوی متا تگ ها، کلمات کلیدی و غیره است.
  • سبک های $- در خدمت دانلود همه css-فایل ها به صفحه فعلی
  • اسکریپت های $- در خدمت دانلود همه جاوا اسکریپت "sبه صفحه فعلی
  • $ کلاس های بدن- مجموعه ای از کلاس ها cssبرای برچسب ... این شامل اطلاعاتی در مورد مکان فعلی ستون ها در سایت، تعداد آنها، آدرس فعلی "e" و غیره است.

اطلاعات در مورد سایت

  • صفحه اول $- آدرس صفحه اصلی سایت. بهتر است از این متغیر برای اشاره استفاده کنید صفحه نخستاز آنجا که این شامل زبان و پیشوند دامنه است
  • لوگوی $- مسیر رسیدن به لوگوی سایت، در صورتی که در سایت درج شده باشد
  • $ site_name- نام سایت. اگر آن را در ویژگی های فایل اطلاعات غیرفعال کنید، ممکن است خالی باشد. قابل تنظیم در mysite.ru/admin/settings/site-information
  • $ site_slogan- شعار سایت. اگر آن را در ویژگی های فایل اطلاعات غیرفعال کنید، ممکن است خالی باشد. قابل تنظیم در mysite.ru/admin/settings/site-information
  • ماموریت دلار- ماموریت سایت اگر آن را در ویژگی های فایل اطلاعات غیرفعال کنید، ممکن است خالی باشد. قابل تنظیم در mysite.ru/admin/settings/site-information

جهت یابی

  • $ search_box- حاوی کد html است که رشته جستجو را نمایش می دهد. اگر آن را در فایل اطلاعات خاموش کنید ممکن است خالی باشد
  • پیوندهای اولیه $
  • پیوندهای ثانویه $- آرایه ای حاوی پیوندهای ناوبری برای سایت، در صورتی که در ویژگی های فایل اطلاعات مجاز باشند

محتوای صفحه پیش فرض

  • دلار باقی مانده است- منطقه حاوی کد html برای ستون سمت چپ است. اگر هر منطقه ای را در فایل اطلاعات مشخص کنید، ناپدید می شود
  • دلار خرده نان - "پودرهای سوخاری" برای صفحه فعلی
  • عنوان $- عنوان صفحه
  • $ کمک کند- نکات پویا، بیشتر در پنل مدیریت نشان داده شده است
  • پیام های $- نمایش پیام هایی در مورد خطاها و هشدارها در سایت
  • زبانه های $- پیوندها (برگه ها) که صفحه فعلی را با صفحات فرعی آن مرتبط می کند (به عنوان مثال، برای یک مقاله - با صفحه ویرایش آن)
  • محتوای $- محتوای صفحه فعلی
  • دلار درست است- منطقه حاوی کد html برای ستون سمت راست است. اگر هر منطقه ای را در فایل اطلاعات مشخص کنید، ناپدید می شود

ناحیه پایین / داده های پوششی

  • $ feed_icon- خط با تمام آیکون ها بازخوردبرای صفحه فعلی
  • $ footer_message- پیام در انتهای صفحه قابل تنظیم در mysite.ru/admin/settings/site-information
  • پاورقی $- منطقه حاوی کد html برای پایین صفحه است. اگر هر منطقه ای را در فایل اطلاعات مشخص کنید، ناپدید می شود
  • $ بسته شدن- برچسب بستن برای همه ماژول هایی که صفحه را تغییر داده اند. این متغیر باید بعد از تمام محتوای پویا نمایش داده شود. بهتر است قبل از بستن تگ BODY

همه در اینجا ذکر شده است متغیرهای استاندارد... اما می توانید متغیرهای خود را در اینجا یا به صورت منطقه ای از طریق اضافه کنید اطلاعات-file یا در هر نقش دیگری از طریق فایل template.php(درباره او کمی بعد).

حالا به شما نشان خواهم داد که چه کدی باید باشد page.tpl.phpو سپس به چه کدی توسط مرورگرها تفسیر می شود. در اینجا یک قطعه کد از page.tpl.php:

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

، پس از آن عنوان صفحه چاپ می شود و همه اینها با برچسب بسته می شود

... اگر به کد این صفحه در یک مرورگر نگاه کنید، به شکل زیر است:

درس 4. فایل های مورد نیاز برای ایجاد یک الگو Page.tpl.php

تقریباً همه متغیرهای سایت به این ترتیب پیچیده می شوند. این کار به این منظور انجام می شود که بتوانیم محتوا را بدون اینکه از قبل بدانیم چه خواهد بود، استایل بندی کنیم.

اینطور به نظر می رسد فایل استاندارد page.tpl.phpکه همراه دروپال است. نام کلاس ها را تغییر دهید، متغیرها را مرتب کنید - و ببینید چه اتفاقی می افتد. این برای "احساس" نحوه عملکرد و آنچه در نتیجه نمایش داده می شود ضروری است.

"- // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/1999/xhtml" xml: lang = "زبان؟>"لنگ = "زبان؟>" dir = "کارگردان؟>"> <?php print $head_title ; ?> "" >


جدا کردن منطق دریافت داده ها از منطق نمایش آنها بخش بسیار مهمی از توسعه وب است.
هر برنامه نویسی که اندکی از سطح "Hello world" بالاتر رفته باشد، شروع به احساس نیاز به چنین جدایی می کند. اما همه به نتیجه گیری و تصمیم درست نمی رسند.
بنابراین، در اینجا مهمترین قوانین وجود دارد:
1. کد دریافت کننده و کد نمایش داده ها باید از هم جدا شوند.
2. هر خروجی باید تنها پس از آماده شدن همه داده ها برای آن شروع شود.
3. در نتیجه، هر اسکریپت فقط باید با پردازش داده ها سر و کار داشته باشد. پس از آن، او می تواند نوعی هدر HTTP ارسال کند، یا قالب را فراخوانی کند، داده های آماده شده را ارسال کند، یا هر دو با هم.
4. از کدام موتور قالب استفاده شود دهمین مورد است. ساده ترین و در دسترس ترین آن خود PHP است، بنابراین مثال هایی در مورد آن ارائه خواهد شد.

توهمات
احتمالاً هیچ موضوعی در برنامه نویسی وب وجود ندارد که به اندازه قالب ها واضح و غیرقابل درک باشد. همه دیر یا زود به این نتیجه می رسند که استفاده از قالب ها ضروری است. اما بنا به دلایلی از طریق وحشیانه ترین توهمات و خیالات به وجود می آید.

ساده ترین و واضح ترین تصور اشتباه این است که مبتدیان یک فایل "طراحی" را که یک html رایج برای تمام صفحات یک سایت است، به عنوان یک الگو می نامند. و در این مورد آرام می شوند. اطلاعات پویا، هیچ تردیدی وجود ندارد، نمایش پژواک قدیمی خوب :-)
در واقع موتور قالب عمدتاً به نمایش محتوای در حال تغییر صفحات سایت می پردازد. و نتیجه گیری "طراحی" یک کار ثانویه است.

دو فانتزی اصلی وجود دارد:
1. "طراح" به قالب هایی نیاز دارد تا بتواند آنها را بدون نیاز به درک PHP ویرایش کند.
2. از این رو، قالب ها برای جدا کردن PHP از HTML استفاده می کنند.

بیایید سعی کنیم در مورد جمله اول فکر کنیم. طراح چیست؟ این شخصی است که در فتوشاپ کار می کند. او اغلب اصلا HTML نمی داند. و یا یک طراح چیدمان خاص یا - اغلب ... خود برنامه نویس - روی قالب کار می کند! خنده دار است، اینطور نیست؟
در حال حاضر نتیجه، در مورد جداسازی PHP از HTML. خوب. ما هدف مقدس جدایی را پیش روی خود داریم. بنابراین، ما به اسمارتی می رسیم و می نویسیم:
(کلید foreach = مورد cid = con from = $ مخاطبین)
($ con.name) - ($ con.nick)

(/ برای هر)

حتی خنده دار تر.
«طراحی» که همه چیز برایش شروع شده بود از خوشحالی غش می کند.

تئوری
به نظر می رسد که دلایل ما برای استفاده از قالب ها ارزش یک پنی را ندارد. و اکنون چه - آیا به طور کلی به الگوها نیازی ندارند؟ مورد نیاز است. اما ابتدا باید به این سوال پاسخ دهید - "چرا؟" برای چینیاز به قالب و با تمرین جواب را بررسی کنید. من بارها این سوال را از مردم پرسیده ام. اما تقریباً هیچ کس نمی تواند به آن پاسخ دهد. چرا او به الگوها نیاز دارد. معلوم می شود که مردم کاری را بدون اینکه بدانند چرا انجام می دهند.
این خنده دارترین چیز است.

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

یک کد - چندین نمایش.

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

اغلب باید همان اطلاعات به چندین شکل نشان داده شود. مثلاً یک صفحه معمولی و یک صفحه چاپی. اطلاعات یکسان، کد دریافت آن یکسان و کد خروجی متفاوت است. در مواجهه با چنین شرایطی می توانید خیلی سریع کد خود را به دو قسمت تقسیم کنید که یکی از آنها وظیفه خروجی را بر عهده دارد و قسمت دوم پاسخگو نیست. مثال دیگر: فرض کنید می‌خواستیم اطلاعات را نه مستقیماً به HTML، بلکه از طریق یک درخواست AJAX با فرمت JSON خروجی دهیم. اگر از موتور قالب استفاده کنیم، دقیقاً یک خط در کد خود را تغییر می دهیم - موتور الگو را به فراخوانی json_encode () فراخوانی می کنیم. و اگر خروجی ما با کد دریافت داده مخلوط شد، پس کل کد باید بازنویسی شود!

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

نکته مهم دیگری که بسیاری از افراد از آن غافل می شوند (در استدلال نظری خود، در حالی که دائماً در عمل با آن مواجه می شوند!) - ترتیب اجرای اسکریپت همیشه با ترتیب خروجی در قالب مطابقت ندارد... مثال کتاب درسی - نمایش عنوان مقاله در تگ ... اگر اطلاعات را به محض در دسترس بودن نمایش دهیم، به سادگی نمی توانیم این کار را انجام دهیم - عنوان سایت <i>قبلا، پیش از این</i>زمانی که دریافت متن خبر را شروع کردیم، نمایش داده شد.</p><p>همچنین باید به خاطر داشت که علاوه بر متن PHP، اسکریپت ها هدرهای HTTP را نیز نمایش می دهند. که باید قبل از هر متنی یا حتی به جای متن به طور کلی نمایش داده شود (اگر مثلاً بخواهیم کاربر را به صفحه دیگری هدایت کنیم). اگر ابتدا منطق برنامه را بدون نمایش چیزی پیاده سازی کنیم، صدور هدر HTTP مورد نیاز مشکلی برای ما ایجاد نمی کند.</p><p>ممکن است دلایل خود را برای استفاده از قالب ها داشته باشید. اما تنها با یک شرط - این دلایل باید ناشی از یک ضرورت واقعی و حیاتی باشد و نه ناشی از "ملاحظات بالاتر" و نگرانی برای برخی افراد ناشناس.</p><p><b><a name="example">تمرین</a> </b><br>حالا بیایید از تئوری به عمل برویم. <br>در ساده ترین حالت، در نمایش هر صفحه ای، همیشه دو قالب خواهیم داشت: یک قالب کلی سایت و یک قالب محتوایی برای یک صفحه خاص. <br>فرض کنید می خواهیم صفحه ای با لینک به سایت های دوستان بسازیم. <br>در این حالت کد ساده شده به صورت زیر خواهد بود:</p><p>خود فایل links.php. خروجی هیچ چیز. فقط داده ها را آماده می کند و سپس قالب را فراخوانی می کند. <br><span><?<br><span>// تنظیمات را فعال کنید. <br></span>شامل "settings.php";</p><p>// داده ها را از پایگاه داده دریافت کنید، متغیرها را تعریف کنید <br></span>$ pagetitle = "(! LANG: پیوندها" ;!} <br>$ DATA = $ db -> getAll ("SELECT * FROM links");</p><p>// قالب صفحه را تنظیم کنید و قالب کلی سایت را فراخوانی کنید <br></span>$ tpl = "tpl_links.php"; <br>شامل "tpl_main.php"; <br> </p><p>الگوی عمومی (tpl_main.php):</p><p><html xmlns="http://www.w3.org/1999/xhtml"><br> <head><br> <title>مکان من.<?=$pagetitle?>






در جای مناسب، قالب صفحه ما (tpl_links.php) در آن گنجانده شده است:





  • "target =" _ blank ">


    • ساده ترین راه این است که الگوهایی را بر اساس صفحات استاتیکی که قبلاً در HTML تنظیم شده اند ایجاد کنید. بیایید ایجاد و اتصال یک الگو را با استفاده از یک مثال در نظر بگیریم. فرض کنید از قبل یک فایل HTML با محتوای زیر دارید:

      <html> <سر> <نام متا = "شرح"محتوا = /> <نام متا = "کلید واژه ها"محتوا = /> <عنوان>عنوان> <لینک href = "style.css" rel = "شیوه نامه"نوع = "متن / css" /> سر> <بدن>// منوی شروع<حاشیه جدول = "1" > <tr> <td><a href = "/" > <ب>خانهب>الف>td> tr> <tr> <td><a href = "/ در باره /"> درمورد منالف>td> tr> <tr> <td><a href = "/ من و خودم /"> من و سلطه بر جهانالف>td> tr> <tr> <td><a href = "/ مخاطب /"> مخاطبالف>td> tr> جدول>// انتهای منو<h1>صفحه نخستh1> <p> p> <p>متن درباره من: متن درباره من: متن درباره من: متن درباره من:p> <p>متن درباره من: متن درباره من: متن درباره من: متن درباره من:p> <p>متن درباره من: متن درباره من: متن درباره من: متن درباره من:p> بدن> html>

      برای افزودن یک الگو به CMS، باید یک فایل در فهرست tpls / content ایجاد کنید، به عنوان مثال test.tpl، و کد HTML خود را در آنجا وارد کنید. فایل CSS باید در پوشه css/cms قرار گیرد و نام آن style.css باشد. بهتر است تصاویر را در پوشه تصاویر قرار دهید. فراموش نکنید که مسیرها را برای همه تصاویر و فایل های CSS تغییر دهید.

      اظهار نظر

      در نام فایل قالب نمی توان از حروف روسی استفاده کرد!

      برای اینکه سیستم بتواند قالب جدید را "دیده" کند و از آن برای نمایش صفحات استفاده کند، باید قالب به سیستم اضافه شود. برای انجام این کار، به تنظیمات ماژول "Structure"، تب "Templates" بروید ( http://yourdomain.ru/admin/content/config/ ). لیستی از الگوهای نصب شده در هر دامنه را خواهید دید که در نسخه زبان انتخاب شده وجود دارد.

      برای قرار دادن یک فایل قالب جدید، خط آزاد پایین فیلدها را پر کنید. نام الگو"(مثلاً یک اسم معنی دار به آن بدهید" الگوی تست من") و" نام فایل "(در مورد ما test.tpl) و روی دکمه "ذخیره" کلیک کنید.

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

      هنگام ویرایش هر صفحه، الگوها در لیست کشویی قابل مشاهده خواهند بود:

      بنابراین، در یک سایت، می توانید از چندین قالب به طور همزمان استفاده کنید، و الگوی مناسب را هم برای یک صفحه و هم برای گروهی از صفحات انتخاب کنید.

      سعی کنید یک صفحه جدید ایجاد کنید (مطمئن شوید که یک قالب جدید در گزینه Design Template انتخاب شده است) و ببینید چه اتفاقی در سایت می افتد.

      قالب HTML شما باید در سایت ظاهر شود. اما اکنون ثابت است. اکنون باید آن را پویا کنید.

      ابتدا باید تعیین کنید که کدام بخش از کد HTML تغییر خواهد کرد. در مورد ما، موارد زیر تغییر خواهد کرد:

        عنوان پنجره ;</p> <p>متا تگ کلمات کلیدی و توضیحات.</p> <p>عنوان متن <h1>;</p> <p>متن واقعی؛</p> <p>منوی سایت</p> </ul><p>یعنی باید کمی با قالب HTML کار کنیم و به جای قسمت های در حال تغییر، ماکروهای مربوطه را قرار دهیم.</p> <p>به عنوان مثال، در ابتدای فایل HTML، متا تگ ها و یک عنوان وجود دارد:</p> <<span>نام متا = <span>"شرح"</span><span>محتوا = <span>"توضیحات سایت واسیلی پوپکین"</span> /> </span> <<span>نام متا = <span>"کلید واژه ها"</span><span>محتوا = <span>"سایت رسمی واسیا واسیلی پوپکین"</span> /> </span> <<span>عنوان></span>وب سایت واسیا پوپکین: صفحه اصلی</<span>عنوان></span> <p>ما آنها را با ماکروهای مربوطه جایگزین می کنیم (لیست ماکروها در ضمیمه آمده است):</p> <<span>نام متا = <span>"شرح"</span><span>محتوا = "% توضیحات%"</span> /> </span> <<span>نام متا = <span>"کلید واژه ها"</span>محتوا = <span>"٪ کلید واژه ها٪"</span> /> </span> <<span>عنوان></span>٪ عنوان٪</<span>عنوان></span> <p>اکنون، هنگام تولید صفحات، سیستم متا تگ ها و عنوان را که برای هر صفحه به صورت جداگانه تجویز شده است، می گیرد و آنها را به جای ماکروهای مربوطه جایگزین می کند. به خاطر سپردن نام ماکروها بسیار آسان است.</p> <p>بیایید همین کار را با عنوان متن انجام دهیم. اینجوری بود:</p> <<span>h1></span>صفحه نخست</<span>h1></span> <p>و چنین خواهد شد. سرصفحه متن توسط ماکرو% header% ارائه می شود:</p> <<span>h1></span>٪ سرتیتر٪</<span>h1></span> <p>متن اصلی صفحه نیز تغییر می کند:</p> <<span>p></span>متن درباره من: متن درباره من: متن درباره من: متن درباره من:</<span>p></span> <<span>p></span>متن درباره من: متن درباره من: متن درباره من: متن درباره من:</<span>p></span> <<span>p></span>متن درباره من: متن درباره من: متن درباره من: متن درباره من:</<span>p></span> <<span>p></span>متن درباره من: متن درباره من: متن درباره من: متن درباره من:</<span>p></span> <p>یک ماکرو برای نمایش متن اصلی صفحه وجود دارد <i>٪ محتوا٪</i> :</p> <i>٪ محتوا٪</i> <p>به ابتدای فایل بین تگ ها <head>و</head>ماکرو را وارد کنید:</p><p>این خط ویرایش سریع و سایر ویژگی های مفید را امکان پذیر می کند. با آن می توانید با فشار دادن <b>تغییر مکان</b> +<b>دی</b>، به سرعت به سراغ ویرایش صفحه فعلی سایت یا هر یک از قطعات آن بروید.</p> <p>در نتیجه، شما باید موارد زیر را دریافت کنید:</p> <<span>html></span> <<span>سر></span> <<span>نام متا = <span>"شرح"</span><span>محتوا = "% توضیحات%"</span> /> </span> <<span>نام متا = <span>"کلید واژه ها"</span>محتوا = <span>"٪ کلید واژه ها٪"</span> /> </span> <<span>عنوان></span>٪ عنوان٪</<span>عنوان></span> <<span>لینک href = <span>"style.css"</span> rel = <span>"شیوه نامه"</span>نوع = <span>"متن / css"</span> /> </span>٪ سیستم شاملQuickEditJs ()٪</<span>سر></span> <<span>بدن></span>// منوی شروع<<span>حاشیه جدول = <span>"1" </span>> </span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/" </span>> </span><<span>ب></span>خانه</<span>ب></span></<span>الف></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ در باره /"</span>> </span>درباره شرکت</<span>الف></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ پروژه ها /"</span>> </span>پروژه ها</<span>الف></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ مخاطب /"</span>> </span>مخاطب</<span>الف></span></<span>td></span> </<span>tr></span> </<span>جدول></span>// انتهای منو<<span>h1></span>٪ سرتیتر٪</<span>h1></span>٪ محتوا٪</<span>بدن></span> </<span>html></span> <p>بنابراین، فایل قالب را ذخیره می کنیم و به نتیجه نگاه می کنیم. اکنون صفحه تقریباً کاملاً پویا است، به استثنای منو. لازم است منوی سایت "احیا" شود. بیایید ببینیم منو چگونه تنظیم شده است:</p>// منوی شروع<<span>حاشیه جدول = <span>"1" </span>> </span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/" </span>> </span><<span>ب></span>خانه</<span>ب></span></<span>الف></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ در باره /"</span>> </span>درمورد من</<span>الف></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ من و خودم /"</span>> </span>من و سلطه بر جهان</<span>الف></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ مخاطب /"</span>> </span>مخاطب</<span>الف></span></<span>td></span> </<span>tr></span> </<span>جدول></span>// انتهای منو <p>منو از آیتم ها تشکیل شده است. خود منو به نوعی تزئین شده است و موارد نیز طرحی دارند. به عنوان مثال، کل منو می تواند دارای نوعی قاب یا پس زمینه باشد، آیتم منوی فعلی را می توان با پررنگ برجسته کرد و غیره. همچنین، سطوح مختلف می تواند در یک منو وجود داشته باشد.</p> <p>کادر منو را انتخاب کنید:</p>// منوی شروع<<span>حاشیه جدول = <span>"1" </span>> </span> <span><!-здесь пойдут пункты меню --> </span> </<span>جدول></span>// انتهای منو <p>آیتم منو به این صورت طراحی شده است:</p> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ مخاطب /"</span>> </span>مخاطب</<span>الف></span></<span>td></span> </<span>tr></span> <p>آیتم منوی فعلی به گونه ای متفاوت استایل بندی شده است:</p> <<span>tr></span> <<span>td></span><<span>a href = <span>"/" </span>> </span><<span>ب></span>خانه</<span>ب></span></<span>الف></span></<span>td></span> </<span>tr></span> <p>قالب اصلی منو در فایل /tpls/content/menu/default.tpl قرار دارد و به شکل زیر است:</p> <?php $FORMS = Array (); $FORMS ["menu_block_level1" ] = <<<END %lines% END; $FORMS ["menu_line_level1" ] = <<<END <div class ="menu" >% متن %</div> <<<END <div class ="menu_a" > <span class ="menu_a" >% متن %</span> </div>پایان؛ ?> <p>در ابتدا کمی نامفهوم است. در واقع همه چیز بسیار ساده است. بیایید نگاهی به قسمت اول کد بیندازیم:</p>$ FORMS ["menu_block_level1"] =<<<END %lines% END; <p>این بلوکی نامیده می شود <b>menu_block_level1</b>... تنها 3 نوع از این بلوک ها وجود دارد.</p> <ul><p><b>menu_block_level1</b>- شامل HTML-قاب از منو.</p> <p><b>menu_line_level1</b>- حاوی کد HTML آیتم منو است.</p> <p><b>menu_line_level1_a</b>- مانند menu_line_level1، فقط برای آیتم فعال منو استفاده می شود.</p> </ul><p>همه چیز در این بین<<<END и END; воспринимается, как html-шаблон (для всего меню или для отдельного пункта).</p> <p>هنگام ایجاد یک منو، سیستم الگوهای آیتم ها را می گیرد (به عنوان مثال menu_line_level1) و آنها را یکی پس از دیگری قرار می دهد. این کد HTML است که شامل تمام آیتم های منو است. این کد به جای ماکرو درج شده است <i>% خطوط %</i> .</p> <p>بنابراین، باید کدی را که در بالا برجسته کردیم (فریم‌بندی، آیتم‌های منو) در بلوک‌های مناسب قرار دهید. باید چیزی شبیه به این باشد:</p> <?php $FORMS = Array (); $FORMS ["menu_block_level1" ] = <<<END <table border="1" >% خطوط %</table>پایان؛ $ FORMS ["menu_line_level1"] =<<<END <tr> <td>% متن %</td> </tr>پایان؛ $ FORMS ["menu_line_level1_a"] =<<<END <tr> <td><b>% متن %</b></td> </tr>پایان؛ ?> <p>ما قبلاً می دانیم که به جای <i>% خطوط %</i>سیستم آیتم های منو را با قاب HTML آنها جایگزین می کند. ما با ماکروهای جدید آشنا شدیم. بجای <i>٪ ارتباط دادن٪</i> URL آیتم منو درج می شود و به جای <i>% متن %</i>- متن (تعریف شده در قسمت " <span>عنوان صفحه</span>»).</p> <p>اکنون منو را می توان با یک ماکرو در قالب صفحه قرار داد <i>٪ منو٪</i> ::</p> <<span>html></span> <<span>سر></span> <<span>نام متا = <span>"شرح"</span><span>محتوا = "% توضیحات%"</span> /> </span> <<span>نام متا = <span>"کلید واژه ها"</span>محتوا = <span>"٪ کلید واژه ها٪"</span> /> </span> <<span>عنوان></span>٪ عنوان٪</<span>عنوان></span> <<span>لینک href = <span>"style.css"</span> rel = <span>"شیوه نامه"</span>نوع = <span>"متن / css"</span> /> </span>٪ سیستم شاملQuickEditJs ()٪</<span>سر></span> <<span>بدن></span>// شروع منو% منو% // پایان منو<<span>h1></span>٪ سرتیتر٪</<span>h1></span>٪ محتوا٪</<span>بدن></span> </<span>html></span> <p><b>قالب آماده است.</b> </p> <p>اگر می خواهید منویی را با استفاده از قالب متفاوت در برخی از صفحات سایت نمایش دهید، باید فایل دیگری را با قالب منو در همان پوشه ایجاد کنید. به عنوان مثال menu2.tpl. بر این اساس، هنگام اتصال یک منو به یک الگوی صفحه، به جای% menu%, باید کمی متفاوت بنویسید:% content menu ("menu2")%.</p> <p>عملکرد این ماکرو و سایر ماکروها در مستندات فعلی به تفصیل شرح داده شده است. کار با آنها دقیقاً بر اساس همان اصل است: شما قطعه مورد نیاز از قالب HTML را به قسمت های جداگانه تقسیم می کنید، قالب های لازم را در بلوک های مربوطه وارد می کنید، ماکرو مربوطه را به جای این قطعه وارد می کنید و شروع به کار می کند.</p> <p><b>در نظر گرفتن مهم است:</b> </span>چندین ماکرو را در یک خط قرار ندهید. ماکروهای تودرتو ممکن است به عنوان آرگومان برای ماکروهای دیگر کار نکنند.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> <div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div> </div> <footer> <div class="td-block-row td-post-next-prev"> <div class="td-block-span6 td-post-prev-post"> <div class="td-post-next-prev-content"><span>مقاله قبلی</span><a href="https://obanracer.ru/fa/ip-telefoniya-virtualnaya-ats-nastroika-ofisnoi-ats-legkoe-podklyuchenie.html">PBX مجازی تلفن IP</a></div> </div> <!-- /next_post --> <div class="td-next-prev-separator"></div> <div class="td-block-span6 td-post-next-post"> <div class="td-post-next-prev-content"><span>مقاله بعدی</span><a href="https://obanracer.ru/fa/ishchu-sobesednika-dlya-obshcheniya-na-russkom-kak-naiti-v-internete-druzei.html">نحوه یافتن دوستان در اینترنت: راه هایی برای ملاقات و برقراری ارتباط در وب</a></div> <!-- /next_post --> </div> </div> <div class="td-author-name vcard author" style="display: none"><span class="fn"><a href="https://obanracer.ru/fa/author/iulia">یولیا</a></span></div> <span style="display: none;" itemprop="author" itemscope itemtype="https://schema.org/Person"><meta itemprop="name" content="Юлия"></span> <meta itemprop="datePublished" content="2016-05-16T15:47:37+00:00"> <meta itemprop="dateModified" content="2016-10-25T16:54:41+00:00"> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="/other/kak-zavyazat-galstuk-foto-poshagovo.html" /><span style="display: none;" itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><span style="display: none;" itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="//obanracer.ru/wp-content/uploads/2017/01/logo-300x100.png"></span> <meta itemprop="name" content="Мой секрет"> </span> <meta itemprop="headline " content="Как завязать галстук пошагово фото"><span style="display: none;" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="/wp-content/uploads/2016/05/1-19.jpg"><meta itemprop="width" content="640"><meta itemprop="height" content="450"></span> </footer> </article> <div class="td_block_wrap td_block_related_posts td_uid_3_5a236fb03c961_rand td_with_ajax_pagination td-pb-border-top td_block_template_1" data-td-block-uid="td_uid_3_5a236fb03c961" ><script>var block_td_uid_3_5a236fb03c961 = new tdBlock(); block_td_uid_3_5a236fb03c961.id = "td_uid_3_5a236fb03c961"; block_td_uid_3_5a236fb03c961.atts = '{ "limit":9,"sort":"","post_ids":"","tag_slug":"","autors_id":"","installed_post_types":"","category_id":"","category_ids":"","custom_title":"","custom_url":"","show_child_cat":"","sub_cat_ajax":"","ajax_pagination":"next_prev","header_color":"","header_text_color":"","ajax_pagination_infinite_stop":"","td_column_number":3,"td_ajax_preloading":"","td_ajax_filter_type":"td_custom_related","td_ajax_filter_ids":"","td_filter_default_txt":"\u0412\u0441\u0435","color_preset":"","border_top":"","class":"td_uid_3_5a236fb03c961_rand","el_class":"","offset":"","css":"","tdc_css":"","tdc_css_class":"td_uid_3_5a236fb03c961_rand","live_filter":"cur_post_same_categories","live_filter_cur_post_id":10046,"live_filter_cur_post_author":"694350","block_template_id":""} '; block_td_uid_3_5a236fb03c961.td_column_number = "3"; block_td_uid_3_5a236fb03c961.block_type = "td_block_related_posts"; block_td_uid_3_5a236fb03c961.post_count = "9"; block_td_uid_3_5a236fb03c961.found_posts = "26"; block_td_uid_3_5a236fb03c961.header_color = ""; block_td_uid_3_5a236fb03c961.ajax_pagination_infinite_stop = ""; block_td_uid_3_5a236fb03c961.max_num_pages = "3"; tdBlocksArray.push(block_td_uid_3_5a236fb03c961); </script><h4 class="td-related-title td-block-title"><a id="td_uid_4_5a236fb03e35d" class="td-related-left td-cur-simple-item" data-td_filter_value="" data-td_block_id="td_uid_3_5a236fb03c961" href="#">مقالات مشابه</a></h4><div id=td_uid_3_5a236fb03c961 class="td_block_inner"> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/gde-posmotret-parol-klyuch-ot-wi-fi-na-modeme-zte-f660v5-nastroika.html" rel="bookmark" title="راه اندازی روتر zte f660 mgts: دستورالعمل های گام به گام رمز عبور پیش فرض روتر zte"><img width="218" height="150" class="entry-thumb" src="/uploads/0e95ea29fa6100efd1474aa56a4d8af1.jpg" alt="راه اندازی روتر zte f660 mgts: دستورالعمل های گام به گام رمز عبور پیش فرض روتر zte" title="راه اندازی روتر zte f660 mgts: دستورالعمل های گام به گام رمز عبور پیش فرض روتر zte"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/monitors/" class="td-post-category">مانیتورها</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/gde-posmotret-parol-klyuch-ot-wi-fi-na-modeme-zte-f660v5-nastroika.html" rel="bookmark" title="راه اندازی روتر zte f660 mgts: دستورالعمل های گام به گام رمز عبور پیش فرض روتر zte">راه اندازی روتر zte f660 mgts: دستورالعمل های گام به گام رمز عبور پیش فرض روتر zte</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/mts-tarify-umnyi-biznes-09-2016-tarifnyi-plan-umnyi-biznes-m-ot.html" rel="bookmark" title="MTS: تعرفه های "کسب و کار هوشمند" (09"><img width="218" height="150" class="entry-thumb" src="/uploads/f7f5cc9df4b041a1e777e765258e8da4.jpg" alt="MTS: تعرفه های "کسب و کار هوشمند" (09" title="MTS: تعرفه های "کسب و کار هوشمند" (09"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/the-winchesters/" class="td-post-category">وینچسترها</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/mts-tarify-umnyi-biznes-09-2016-tarifnyi-plan-umnyi-biznes-m-ot.html" rel="bookmark" title="MTS: تعرفه های "کسب و کار هوشمند" (09">MTS: تعرفه های "کسب و کار هوشمند" (09</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/mts-tarify-umnyi-biznes-09-2016-tarif-mts-umnyi-biznes-m-mts.html" rel="bookmark" title="MTS: تعرفه های "کسب و کار هوشمند" (09"><img width="218" height="150" class="entry-thumb" src="/uploads/99ef024573c34465b54dc26c87ba060f.jpg" alt="MTS: تعرفه های "کسب و کار هوشمند" (09" title="MTS: تعرفه های "کسب و کار هوشمند" (09"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/the-winchesters/" class="td-post-category">وینچسترها</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/mts-tarify-umnyi-biznes-09-2016-tarif-mts-umnyi-biznes-m-mts.html" rel="bookmark" title="MTS: تعرفه های "کسب و کار هوشمند" (09">MTS: تعرفه های "کسب و کار هوشمند" (09</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/kak-nastroit-kabelnoe-televidenie-ot-mts-cifrovoe-tv-ot-mts-domashnee.html" rel="bookmark" title="تلویزیون دیجیتال از MTS: تلویزیون خانگی با کیفیت بالا ست تاپ باکس برای تلویزیون کابلی mts"><img width="218" height="150" class="entry-thumb" src="/uploads/2b8c2999ee37cd34aa4ae4e2e4e0aa5c.jpg" alt="تلویزیون دیجیتال از MTS: تلویزیون خانگی با کیفیت بالا ست تاپ باکس برای تلویزیون کابلی mts" title="تلویزیون دیجیتال از MTS: تلویزیون خانگی با کیفیت بالا ست تاپ باکس برای تلویزیون کابلی mts"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/power-supply/" class="td-post-category">منابع تغذیه</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/kak-nastroit-kabelnoe-televidenie-ot-mts-cifrovoe-tv-ot-mts-domashnee.html" rel="bookmark" title="تلویزیون دیجیتال از MTS: تلویزیون خانگی با کیفیت بالا ست تاپ باکس برای تلویزیون کابلی mts">تلویزیون دیجیتال از MTS: تلویزیون خانگی با کیفیت بالا ست تاپ باکس برای تلویزیون کابلی mts</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/mgts-tarif-smart-dlya-svoih-kody-dlya-perehoda-na-tarifnyi.html" rel="bookmark" title="کدهای انتقال به طرح تعرفه MTS هوشمند "برای اقدام خود 4 1 متر هوشمند برای خود"><img width="218" height="150" class="entry-thumb" src="/uploads/0087590f2417328db1ea8d1f25320dc8.jpg" alt="کدهای انتقال به طرح تعرفه MTS هوشمند "برای اقدام خود 4 1 متر هوشمند برای خود" title="کدهای انتقال به طرح تعرفه MTS هوشمند "برای اقدام خود 4 1 متر هوشمند برای خود"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/ram/" class="td-post-category">رم</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/mgts-tarif-smart-dlya-svoih-kody-dlya-perehoda-na-tarifnyi.html" rel="bookmark" title="کدهای انتقال به طرح تعرفه MTS هوشمند "برای اقدام خود 4 1 متر هوشمند برای خود">کدهای انتقال به طرح تعرفه MTS هوشمند "برای اقدام خود 4 1 متر هوشمند برای خود</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/nfc-platezhi-windows-programmirovanie-nfc-metok-na-telefone-s-windows.html" rel="bookmark" title="برنامه نویسی تگ های NFC در تلفن ویندوز (دستورالعمل)"><img width="218" height="150" class="entry-thumb" src="/uploads/380c168f3d884b28d05be9898f6dd8ed.jpg" alt="برنامه نویسی تگ های NFC در تلفن ویندوز (دستورالعمل)" title="برنامه نویسی تگ های NFC در تلفن ویندوز (دستورالعمل)"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/case/" class="td-post-category">مسکن ها</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/nfc-platezhi-windows-programmirovanie-nfc-metok-na-telefone-s-windows.html" rel="bookmark" title="برنامه نویسی تگ های NFC در تلفن ویندوز (دستورالعمل)">برنامه نویسی تگ های NFC در تلفن ویندوز (دستورالعمل)</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/bronirovanie-kottedzhei-v-finlyandii-v-rezhime-onlain-udobno-i-vygodno.html" rel="bookmark" title="کلبه ارزان در فنلاند رزرو کلبه در فنلاند"><img width="218" height="150" class="entry-thumb" src="/uploads/22400bc61e7e71563c2aa4f19d27f0c2.jpg" alt="کلبه ارزان در فنلاند رزرو کلبه در فنلاند" title="کلبه ارزان در فنلاند رزرو کلبه در فنلاند"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/motherboard/" class="td-post-category">مادربردها</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/bronirovanie-kottedzhei-v-finlyandii-v-rezhime-onlain-udobno-i-vygodno.html" rel="bookmark" title="کلبه ارزان در فنلاند رزرو کلبه در فنلاند">کلبه ارزان در فنلاند رزرو کلبه در فنلاند</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/kottedzhi-v-finlyandii-bronirovanie-kottedzhei-v-finlyandii-v.html" rel="bookmark" title="رزرو آنلاین کلبه در فنلاند: خانه مناسب و سودآور برای اجاره در فنلاند"><img width="218" height="150" class="entry-thumb" src="/uploads/893b466c8348b3d1a06d85185a48f583.jpg" alt="رزرو آنلاین کلبه در فنلاند: خانه مناسب و سودآور برای اجاره در فنلاند" title="رزرو آنلاین کلبه در فنلاند: خانه مناسب و سودآور برای اجاره در فنلاند"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/more/" class="td-post-category">دیگر</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/kottedzhi-v-finlyandii-bronirovanie-kottedzhei-v-finlyandii-v.html" rel="bookmark" title="رزرو آنلاین کلبه در فنلاند: خانه مناسب و سودآور برای اجاره در فنلاند">رزرو آنلاین کلبه در فنلاند: خانه مناسب و سودآور برای اجاره در فنلاند</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/chto-znachit-servis-vremenno-nedostupen-na-mts-kak-otklyuchit.html" rel="bookmark" title="چگونه خدمات MTS پولی را غیرفعال کنیم؟"><img width="218" height="150" class="entry-thumb" src="/uploads/11ca2307d9f42865082c09e0cf2a278c.jpg" alt="چگونه خدمات MTS پولی را غیرفعال کنیم؟" title="چگونه خدمات MTS پولی را غیرفعال کنیم؟"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/monitors/" class="td-post-category">مانیتورها</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/chto-znachit-servis-vremenno-nedostupen-na-mts-kak-otklyuchit.html" rel="bookmark" title="چگونه خدمات MTS پولی را غیرفعال کنیم؟">چگونه خدمات MTS پولی را غیرفعال کنیم؟</a></h3> </div> </div> </div> </div></div></div> </div> </div> <div class="td-pb-span4 td-main-sidebar"> <div class="td-ss-main-sidebar"> <aside class="widget �lambda_169101"> <div style="margin:10px 0"> </div> </aside> <div class="td_block_wrap td_block_1 td_block_widget td_uid_2_5a23c04f0cdc0_rand td-pb-border-top td_block_template_1 td-column-1" data-td-block-uid="td_uid_2_5a23c04f0cdc0"> <div class="td-block-title-wrap"> <h4 class="block-title"><span class="td-pulldown-size">توصیه شده</span></h4> </div> <div id=td_uid_2_5a23c04f0cdc0 class="td_block_inner"> <div class="td-block-span12"> <div class="td_module_4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/preimushchestva-virtualnoi-ats-po-sravneniyu-s-zheleznoi-kakie.html" rel="bookmark" title="Cloud PBX چه فرصت ها و مزایایی را برای کسب و کار شما فراهم می کند؟"><img width="324" height="235" class="entry-thumb" src="/uploads/bc3f32421507732def946207ec6a67a9.jpg" alt="Cloud PBX چه فرصت ها و مزایایی را برای کسب و کار شما فراهم می کند؟" title="Cloud PBX چه فرصت ها و مزایایی را برای کسب و کار شما فراهم می کند؟"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/fa/category/power-supply/" class="td-post-category">منابع تغذیه</a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/preimushchestva-virtualnoi-ats-po-sravneniyu-s-zheleznoi-kakie.html" rel="bookmark" title="Cloud PBX چه فرصت ها و مزایایی را برای کسب و کار شما فراهم می کند؟">Cloud PBX چه فرصت ها و مزایایی را برای کسب و کار شما فراهم می کند؟</a></h3> <div class="td-module-meta-info"> </div> <div class="td-excerpt">هماهنگی کار همه کارکنان شرکت و ارتباط با مشتریان بدون وسایل ارتباطی معمول - تلفن - غیرقابل تصور است. و البته با یک دستگاه ...</div> </div> <!-- /next_post --> </div> <div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/korporativnye-seti-konvergenciya-kompyuternyh-i-telekommunikacionnyh-setei.html" rel="bookmark" title="همگرایی شبکه های کامپیوتری و مخابراتی"><img width="100" height="70" class="entry-thumb" src="/uploads/c748170b88e4bb893eb5f92c5a2db50b.jpg" alt="همگرایی شبکه های کامپیوتری و مخابراتی" title="همگرایی شبکه های کامپیوتری و مخابراتی"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/korporativnye-seti-konvergenciya-kompyuternyh-i-telekommunikacionnyh-setei.html" rel="bookmark" title="همگرایی شبکه های کامپیوتری و مخابراتی">همگرایی شبکه های کامپیوتری و مخابراتی</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/fa/category/security/" class="td-post-category">امنیت</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/dannoe-napravlenie-vremenno-nedostupno-tele2-pochemu-ne.html" rel="bookmark" title="چرا سرویس mts من موقتا کار نمی کند نمی توانم اکانت MTS خود را وارد کنم"><img width="100" height="70" class="entry-thumb" src="/uploads/453a3e7c7943702b8169983e92652308.jpg" alt="چرا سرویس mts من موقتا کار نمی کند نمی توانم اکانت MTS خود را وارد کنم" title="چرا سرویس mts من موقتا کار نمی کند نمی توانم اکانت MTS خود را وارد کنم"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/dannoe-napravlenie-vremenno-nedostupno-tele2-pochemu-ne.html" rel="bookmark" title="چرا سرویس mts من موقتا کار نمی کند نمی توانم اکانت MTS خود را وارد کنم">چرا سرویس mts من موقتا کار نمی کند نمی توانم اکانت MTS خود را وارد کنم</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/fa/category/multimedia/" class="td-post-category">چند رسانه ای</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/ford-eksplorer-shiny-razmernost-shiny-i-diski-dlya-ford-explorer.html" rel="bookmark" title="لاستیک و چرخ برای فورد اکسپلورر"><img width="100" height="70" class="entry-thumb" src="/uploads/3bcb36d4ac6f2adce7ae96d5db5b75f7.jpg" alt="لاستیک و چرخ برای فورد اکسپلورر" title="لاستیک و چرخ برای فورد اکسپلورر"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/ford-eksplorer-shiny-razmernost-shiny-i-diski-dlya-ford-explorer.html" rel="bookmark" title="لاستیک و چرخ برای فورد اکسپلورر">لاستیک و چرخ برای فورد اکسپلورر</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/fa/category/graphics-card/" class="td-post-category">کارت های ویدئویی</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/kei-uest-florida-ki-vest-florida-dostoprimechatelnosti-key-west-posle-uragana.html" rel="bookmark" title="جاذبه های کی وست، فلوریدا"><img width="100" height="70" class="entry-thumb" src="/uploads/e26472ab1e812d0cedcdb3ea046bb051.jpg" alt="جاذبه های کی وست، فلوریدا" title="جاذبه های کی وست، فلوریدا"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/kei-uest-florida-ki-vest-florida-dostoprimechatelnosti-key-west-posle-uragana.html" rel="bookmark" title="جاذبه های کی وست، فلوریدا">جاذبه های کی وست، فلوریدا</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/fa/category/multimedia/" class="td-post-category">چند رسانه ای</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/gorod-ki-uest-otkryt-levoe-menyu-ki-uest-romanticheskie-mesta-i.html" rel="bookmark" title="منوی سمت چپ Key West را باز کنید"><img width="100" height="70" class="entry-thumb" src="/uploads/4ce4acbedc04b9136e73a15885e68d91.jpg" alt="منوی سمت چپ Key West را باز کنید" title="منوی سمت چپ Key West را باز کنید"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/gorod-ki-uest-otkryt-levoe-menyu-ki-uest-romanticheskie-mesta-i.html" rel="bookmark" title="منوی سمت چپ Key West را باز کنید">منوی سمت چپ Key West را باز کنید</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/fa/category/multimedia/" class="td-post-category">چند رسانه ای</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/ki-vest-maiami-iz-kakih-otelei-v-ki-uest-otkryvayutsya-krasivye-vidy.html" rel="bookmark" title="چه هتل هایی در کی وست چشم انداز خوبی دارند؟"><img width="100" height="70" class="entry-thumb" src="/uploads/5f7dfe4bd9a28fe56a2d65464fb0a226.jpg" alt="چه هتل هایی در کی وست چشم انداز خوبی دارند؟" title="چه هتل هایی در کی وست چشم انداز خوبی دارند؟"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/ki-vest-maiami-iz-kakih-otelei-v-ki-uest-otkryvayutsya-krasivye-vidy.html" rel="bookmark" title="چه هتل هایی در کی وست چشم انداز خوبی دارند؟">چه هتل هایی در کی وست چشم انداز خوبی دارند؟</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/fa/category/multimedia/" class="td-post-category">چند رسانه ای</a> </div> </div> </div> </div> </div> </div> </div> <aside class="widget_text td_block_template_1 widget widget_custom_html"> <div class="textwidget custom-html-widget"> </div> </aside> </div> </div> </div> </div> </div> <div class="td-footer-wrapper td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span12"> </div> </div> <div class="td-pb-row"> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_11_5a23980e76adb_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_11_5a23980e76adb" > <div class="td-block-title-wrap"></div><div id=td_uid_11_5a23980e76adb class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/ntv-plyus-pakety-kanalov-i-chastot-ntv-plyus-pakety-kanalov-i-chastot-ntv.html" rel="bookmark" title="NTV plus: بسته های کانال ها و فرکانس ها NTV plus آنلاین تمام کانال های تلویزیونی"><img width="218" height="150" class="entry-thumb" src="/uploads/fbd76df8f28676ef1451cac79152db48.jpg" alt="NTV plus: بسته های کانال ها و فرکانس ها NTV plus آنلاین تمام کانال های تلویزیونی" title="NTV plus: بسته های کانال ها و فرکانس ها NTV plus آنلاین تمام کانال های تلویزیونی"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/ntv-plyus-pakety-kanalov-i-chastot-ntv-plyus-pakety-kanalov-i-chastot-ntv.html" rel="bookmark" title="NTV plus: بسته های کانال ها و فرکانس ها NTV plus آنلاین تمام کانال های تلویزیونی">NTV plus: بسته های کانال ها و فرکانس ها NTV plus آنلاین تمام کانال های تلویزیونی</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/mobilnyi-internet-v-kazhdyi-planshet-mts-internet-tarify-dlya-plansheta.html" rel="bookmark" title="تعرفه اینترنت تبلت از mts"><img width="218" height="150" class="entry-thumb" src="/uploads/44a7b3afaeb19dc0cebca79689f39549.jpg" alt="تعرفه اینترنت تبلت از mts" title="تعرفه اینترنت تبلت از mts"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/mobilnyi-internet-v-kazhdyi-planshet-mts-internet-tarify-dlya-plansheta.html" rel="bookmark" title="تعرفه اینترنت تبلت از mts">تعرفه اینترنت تبلت از mts</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/otkryt-faily-vcd-chem-otkryt-vcd-programmnye-obespecheniya.html" rel="bookmark" title="فایل های vcd را باز کنید. چگونه فایل vcd را باز کنیم؟ نرم افزار باز کردن سی دی مجازی"><img width="218" height="150" class="entry-thumb" src="/uploads/1a0f72fc6245b1f424e1a65749495577.jpg" alt="فایل های vcd را باز کنید. چگونه فایل vcd را باز کنیم؟ نرم افزار باز کردن سی دی مجازی" title="فایل های vcd را باز کنید. چگونه فایل vcd را باز کنیم؟ نرم افزار باز کردن سی دی مجازی"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/otkryt-faily-vcd-chem-otkryt-vcd-programmnye-obespecheniya.html" rel="bookmark" title="فایل های vcd را باز کنید. چگونه فایل vcd را باز کنیم؟ نرم افزار باز کردن سی دی مجازی">فایل های vcd را باز کنید. چگونه فایل vcd را باز کنیم؟ نرم افزار باز کردن سی دی مجازی</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/udalennoe-upravlenie-pk-cherez-internet-download-internet-podklyuchenie-k-udalennomu-rabochemu-stolu-fr.html" rel="bookmark" title="اتصال اینترنت از راه دور دسکتاپ را از مرکز دانلود رسمی مایکروسافت دانلود کنید"><img width="218" height="150" class="entry-thumb" src="/uploads/d607ef1f7c225c72ffacac1967f79caf.jpg" alt="اتصال اینترنت از راه دور دسکتاپ را از مرکز دانلود رسمی مایکروسافت دانلود کنید" title="اتصال اینترنت از راه دور دسکتاپ را از مرکز دانلود رسمی مایکروسافت دانلود کنید"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/udalennoe-upravlenie-pk-cherez-internet-download-internet-podklyuchenie-k-udalennomu-rabochemu-stolu-fr.html" rel="bookmark" title="اتصال اینترنت از راه دور دسکتاپ را از مرکز دانلود رسمی مایکروسافت دانلود کنید">اتصال اینترنت از راه دور دسکتاپ را از مرکز دانلود رسمی مایکروسافت دانلود کنید</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/otdalennyi-klient-kak-ustanovit-udalennyi-dostup-k-kompyuteru-tri-prostyh.html" rel="bookmark" title="نحوه تنظیم دسترسی از راه دور به رایانه: سه راه آسان"><img width="218" height="150" class="entry-thumb" src="/uploads/fb6c12a559d3a9ef4dcf97a9f291f8ab.jpg" alt="نحوه تنظیم دسترسی از راه دور به رایانه: سه راه آسان" title="نحوه تنظیم دسترسی از راه دور به رایانه: سه راه آسان"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/otdalennyi-klient-kak-ustanovit-udalennyi-dostup-k-kompyuteru-tri-prostyh.html" rel="bookmark" title="نحوه تنظیم دسترسی از راه دور به رایانه: سه راه آسان">نحوه تنظیم دسترسی از راه دور به رایانه: سه راه آسان</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/rasshirenie-dpr-chto-takoe-rasshirenie-faila-dpr-shag-za-shagom.html" rel="bookmark" title="پسوند فایل DPR چیست؟"><img width="218" height="150" class="entry-thumb" src="/uploads/879ba5ebedfae9264ea50695d3e394de.jpg" alt="پسوند فایل DPR چیست؟" title="پسوند فایل DPR چیست؟"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/rasshirenie-dpr-chto-takoe-rasshirenie-faila-dpr-shag-za-shagom.html" rel="bookmark" title="پسوند فایل DPR چیست؟">پسوند فایل DPR چیست؟</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_12_5a23980e79990_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_12_5a23980e79990" > <div class="td-block-title-wrap"></div><div id=td_uid_12_5a23980e79990 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/fail-dpr-chem-otkryt-fail-dpr-shag-za-shagom.html" rel="bookmark" title="Dpr. چگونه یک فایل .DPR را باز کنیم؟ گام به گام"><img width="218" height="150" class="entry-thumb" src="/uploads/879ba5ebedfae9264ea50695d3e394de.jpg" alt="Dpr. چگونه یک فایل .DPR را باز کنیم؟ گام به گام" title="Dpr. چگونه یک فایل .DPR را باز کنیم؟ گام به گام"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/fail-dpr-chem-otkryt-fail-dpr-shag-za-shagom.html" rel="bookmark" title="Dpr. چگونه یک فایل .DPR را باز کنیم؟ گام به گام">Dpr. چگونه یک فایل .DPR را باز کنیم؟ گام به گام</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/polya-dannyh-v-faile-wpt-rasshirenie-faila-wpt-programmy-obsluzhivayushchie-fail.html" rel="bookmark" title="فیلدهای داده در فایل wpt. پسوند فایل WPT. برنامه هایی که از فایل WPT پشتیبانی می کنند"><img width="218" height="150" class="entry-thumb" src="/uploads/a58adcaff7e9ee0732c8270ef37631bf.jpg" alt="فیلدهای داده در فایل wpt. پسوند فایل WPT. برنامه هایی که از فایل WPT پشتیبانی می کنند" title="فیلدهای داده در فایل wpt. پسوند فایل WPT. برنامه هایی که از فایل WPT پشتیبانی می کنند"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/polya-dannyh-v-faile-wpt-rasshirenie-faila-wpt-programmy-obsluzhivayushchie-fail.html" rel="bookmark" title="فیلدهای داده در فایل wpt. پسوند فایل WPT. برنامه هایی که از فایل WPT پشتیبانی می کنند">فیلدهای داده در فایل wpt. پسوند فایل WPT. برنامه هایی که از فایل WPT پشتیبانی می کنند</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/chto-takoe-rasshirenie-faila-gui-chto-takoe-fail-gui-i-kak-otkryt.html" rel="bookmark" title="فایل gui چیست و چگونه فایل gui را باز کنم؟"><img width="218" height="150" class="entry-thumb" src="/uploads/f57d80f6d59147feb022f5198b8c5dfb.jpg" alt="فایل gui چیست و چگونه فایل gui را باز کنم؟" title="فایل gui چیست و چگونه فایل gui را باز کنم؟"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/chto-takoe-rasshirenie-faila-gui-chto-takoe-fail-gui-i-kak-otkryt.html" rel="bookmark" title="فایل gui چیست و چگونه فایل gui را باز کنم؟">فایل gui چیست و چگونه فایل gui را باز کنم؟</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/chto-takoe-rasshirenie-faila-ico-kak-sohranit-izobrazhenie-v-formate-ico-bystro-i.html" rel="bookmark" title="چگونه یک تصویر را با فرمت ico به سرعت و به راحتی ذخیره کنیم؟"><img width="218" height="150" class="entry-thumb" src="/uploads/9388f3a0967684f594c2a93c5c183161.jpg" alt="چگونه یک تصویر را با فرمت ico به سرعت و به راحتی ذخیره کنیم؟" title="چگونه یک تصویر را با فرمت ico به سرعت و به راحتی ذخیره کنیم؟"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/chto-takoe-rasshirenie-faila-ico-kak-sohranit-izobrazhenie-v-formate-ico-bystro-i.html" rel="bookmark" title="چگونه یک تصویر را با فرمت ico به سرعت و به راحتی ذخیره کنیم؟">چگونه یک تصویر را با فرمت ico به سرعت و به راحتی ذخیره کنیم؟</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/svezhie-kodeki-dlya-windows-7-x64-opisanie-k-lite-codec-pack.html" rel="bookmark" title="توضیحات بسته کدک K-Lite"><img width="218" height="150" class="entry-thumb" src="/uploads/c89b3a161e376e4b900585592bc62f6b.jpg" alt="توضیحات بسته کدک K-Lite" title="توضیحات بسته کدک K-Lite"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/svezhie-kodeki-dlya-windows-7-x64-opisanie-k-lite-codec-pack.html" rel="bookmark" title="توضیحات بسته کدک K-Lite">توضیحات بسته کدک K-Lite</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/kak-zagruzit-kanaly-v-iptv-pleer-ustanovka-i-nastroika-iptv-player.html" rel="bookmark" title="نصب و پیکربندی IPTV Player - راهی مناسب برای تماشای تلویزیون در رایانه"><img width="218" height="150" class="entry-thumb" src="/uploads/6b7ca7093e3d0a076ffce9b9b69e69f1.jpg" alt="نصب و پیکربندی IPTV Player - راهی مناسب برای تماشای تلویزیون در رایانه" title="نصب و پیکربندی IPTV Player - راهی مناسب برای تماشای تلویزیون در رایانه"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/kak-zagruzit-kanaly-v-iptv-pleer-ustanovka-i-nastroika-iptv-player.html" rel="bookmark" title="نصب و پیکربندی IPTV Player - راهی مناسب برای تماشای تلویزیون در رایانه">نصب و پیکربندی IPTV Player - راهی مناسب برای تماشای تلویزیون در رایانه</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_13_5a23980e7caa8_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_13_5a23980e7caa8" > <div class="td-block-title-wrap"></div><div id=td_uid_13_5a23980e7caa8 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/chem-otkryt-jad-chto-takoe-rasshirenie-faila-jad-luchshie-brendy.html" rel="bookmark" title="پسوند فایل JAD چیست؟"><img width="218" height="150" class="entry-thumb" src="/uploads/7f84809376947e86694b2e720c93c76f.jpg" alt="پسوند فایل JAD چیست؟" title="پسوند فایل JAD چیست؟"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/chem-otkryt-jad-chto-takoe-rasshirenie-faila-jad-luchshie-brendy.html" rel="bookmark" title="پسوند فایل JAD چیست؟">پسوند فایل JAD چیست؟</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/chto-takoe-rasshirenie-faila-idc-chem-otkryt-fail-idc-kak-ispravit.html" rel="bookmark" title="پسوند فایل IDC چیست؟"><img width="218" height="150" class="entry-thumb" src="/uploads/44ed120916157db2a815bfa8a33435fe.jpg" alt="پسوند فایل IDC چیست؟" title="پسوند فایل IDC چیست؟"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/chto-takoe-rasshirenie-faila-idc-chem-otkryt-fail-idc-kak-ispravit.html" rel="bookmark" title="پسوند فایل IDC چیست؟">پسوند فایل IDC چیست؟</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/programma-dlya-postroeniya-semeinogo-dreva-my-family-tree-genealogicheskoe-drevo-programma-femili-drev.html" rel="bookmark" title="برنامه شجره نامه خانواده شجره نامه"><img width="218" height="150" class="entry-thumb" src="/uploads/6ee0fff000c6eeb1c390d1a692ebb7d8.jpg" alt="برنامه شجره نامه خانواده شجره نامه" title="برنامه شجره نامه خانواده شجره نامه"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/programma-dlya-postroeniya-semeinogo-dreva-my-family-tree-genealogicheskoe-drevo-programma-femili-drev.html" rel="bookmark" title="برنامه شجره نامه خانواده شجره نامه">برنامه شجره نامه خانواده شجره نامه</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/rasshirenie-faila-smf-formaty-smf-otkryt-fail-smf.html" rel="bookmark" title="فرمت های SMF فایل smf را باز کنید"><img width="218" height="150" class="entry-thumb" src="/uploads/edbc61b555681552532f3963dab57d35.jpg" alt="فرمت های SMF فایل smf را باز کنید" title="فرمت های SMF فایل smf را باز کنید"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/rasshirenie-faila-smf-formaty-smf-otkryt-fail-smf.html" rel="bookmark" title="فرمت های SMF فایل smf را باز کنید">فرمت های SMF فایل smf را باز کنید</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/sfw-faily-kak-otkryt-fail-swf-ustranenie-nepoladok-pri-otkrytii-failov.html" rel="bookmark" title="فایل های Sfw. نحوه باز کردن فایل SWF عیب یابی باز کردن فایل های SFW"><img width="218" height="150" class="entry-thumb" src="/uploads/78f47379d7aaaf17b55f4bcd2099167a.jpg" alt="فایل های Sfw. نحوه باز کردن فایل SWF عیب یابی باز کردن فایل های SFW" title="فایل های Sfw. نحوه باز کردن فایل SWF عیب یابی باز کردن فایل های SFW"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/sfw-faily-kak-otkryt-fail-swf-ustranenie-nepoladok-pri-otkrytii-failov.html" rel="bookmark" title="فایل های Sfw. نحوه باز کردن فایل SWF عیب یابی باز کردن فایل های SFW">فایل های Sfw. نحوه باز کردن فایل SWF عیب یابی باز کردن فایل های SFW</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/fa/rss-onlainovyi-agregator-obzor-luchshih-rss-riderov-dlya-chteniya-lent-novostei.html" rel="bookmark" title="بررسی بهترین خوانندگان RSS برای خوانندگان فید خبری"><img width="218" height="150" class="entry-thumb" src="/uploads/4fed1a64015fab9131b42c81fe25a44d.jpg" alt="بررسی بهترین خوانندگان RSS برای خوانندگان فید خبری" title="بررسی بهترین خوانندگان RSS برای خوانندگان فید خبری"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/fa/rss-onlainovyi-agregator-obzor-luchshih-rss-riderov-dlya-chteniya-lent-novostei.html" rel="bookmark" title="بررسی بهترین خوانندگان RSS برای خوانندگان فید خبری">بررسی بهترین خوانندگان RSS برای خوانندگان فید خبری</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside> </div> </div> </div> </div> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span td-sub-footer-menu"> </div> <div class="td-pb-span td-sub-footer-copy">حق چاپ 2021 - تعمیر کامپیوتر و لپ تاپ. کارت گرافیک، هارد، اینترنت، مانیتور.</div> </div> </div> </div> </div> <style type="text/css" media="screen"> /* custom css theme panel */ .td-post-header .entry-title { font-weight: normal !important; } h1.entry-title { font-weight: normal !important; border-bottom:#c44c4c 2px dotted; } h1.entry-title:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .sf-menu ul .td-menu-item > a:hover, .sf-menu ul .sfHover > a, .sf-menu ul .current-menu-ancestor > a, .sf-menu ul .current-category-ancestor > a, .sf-menu ul .current-menu-item > a { color: #edf3f7; } .td-post-content h2 { border-bottom:#c44c4c 2px dotted;} .td-post-content h2:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-post-content h3 { border-bottom:#c44c4c 2px dotted;} .td-post-content h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .category-my .td-page-title { color:#c44c4c; font-weight: 400; font-size: 36px; } .post header .entry-title { line-height: 40px; } .td-category-description h2, .td-category-description h3 { color:#c44c4c;} .td-category-description h2 { border-bottom:#c44c4c 2px solid;} .td-category-description h2:before { content: "\f055"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description h3 { border-bottom:#c44c4c 2px solid;} .td-category-description h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description ol, .td-category-description ul { margin-top:20px !important; margin-bottom:20px !important;} .td-category-description ul, .td-post-content ul { padding:0; margin:0; list-style:none; clear:both;} .td-category-description ul li, .td-post-content ul li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ul li:before, .td-post-content ul li:before { content: "\f192"; font-family: "FontAwesome"; color:#c44c4c; position:absolute; left:-10px;} .td-category-description ol, .td-post-content ol { padding:0; margin:0 0 0 5px; list-style:none; counter-reset: lipoint; clear:both;} .td-category-description ol li, .td-post-content ol li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ol li:before, .td-post-content ol li:before { content: counter(lipoint); counter-increment: lipoint; color:#fff; position:absolute; left:-16px; background:#c44c4c; width:20px; height:20px; line-height:20px; text-align:center; -webkit-border-radius: 20px;border-radius: 20px; font-size:12px; top:3px;} .toc_list li:before { display:none} .td-header-style-9 .td-header-menu-wrap-full { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c44c4c+0,c10000+100 */ background: #c44c4c; /* Old browsers */ background: -moz-linear-gradient(top, #c44c4c 0%, #c10000 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #c44c4c 0%,#c10000 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #c44c4c 0%,#c10000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c44c4c', endColorstr='#c10000',GradientType=0 ); /* IE6-9 */ } .sf-menu > li > a { color: #fff; } .td-header-style-9 .header-search-wrap .td-icon-search { color: #fff; } .td-affix a { color:#000 !important;} </style> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll":"1"} ; /* ]]> */ </script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/table-of-contents-plus/front.min.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/wp-postratings/js/postratings-js.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/themes/Newspaper/js/tagdiv_theme.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var boxzilla_options = { "testMode":"","boxes":[]} ; /* ]]> */ </script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/boxzilla/assets/js/script.min.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.core.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.view.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/themes/baseline/js/prod/client.js'></script> <script type='text/javascript' src='/assets/client1.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/template-tags/item/js/prod/tag.item.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/template-tags/ui/js/prod/tag.ui.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/content-handlers/image/js/prod/handler.image.js'></script> <script> (function(){ var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm,''); } ); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } } ); } } )(); </script> </body> </html>