رفتن به مطلب

آموزش اختصاصی چسباندن ساید بار پوسته


ارسال‌های توصیه شده

عرض سلام و احترام خدمت مدیران و کاربران عزیز. مدتی قبل تر کاربری به نام @Unienc درخواست این مورد رو داده بودند که خارج از بحث پشتیبانی و... میباشد .از اونجایی که مربوط به کارهای طراحی قالب یا پوسته هست گفتم این مورد رو هم با دوستان به اشتراک بگذارم. :good2:

خب برای شروع اولین کاری که باید بکنید اینه که فایل chris.sidebar.js  پیوست شده را در روت انجمن تون در فولدر uploads آپلود کنید.

سپس وارد ادمین پنل IPS شده و مسیر > شخصی سازی > پوسته ها و روی نماد </> پوسته موردنظرتون کلیک کنید.

کد زیر را دقیقا قبل از تگ </body> که در انتهای قالب globalTemplate هست قرار دهید. دقت داشته باشید که قسمت YOUR SITE.IR آدرس مسیر انجمن تون رو قرار بدید.

<script src="http://YOUR SITE.IR/uploads/chris.sidebar.js"></script>
<script type="text/javascript">jQuery(document).ready(function(){jQuery('.chrisSidebar').theiaStickySidebar({additionalMarginTop:10});});</script>

بعد از انجام و ذخیره موارد بالا قالب sidebar را جستجو کرده و باز کنید.

برای کسانی که از IPS 4.4 استفاده میکنند کل محتویات صفحه را با کد زیر جایگزین کنند.

{{$adsForceSidebar = ( \IPS\Settings::i()->ads_force_sidebar AND \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) );}}
{{if (isset( \IPS\Output::i()->sidebar['enabled'] ) and \IPS\Output::i()->sidebar['enabled'] ) && ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) || ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) || ( \IPS\Dispatcher::i()->application instanceof \IPS\Application AND \IPS\Dispatcher::i()->application->canManageWidgets() ) || $adsForceSidebar )}}
	<div id='ipsLayout_sidebar' class='chrisSidebar ipsLayout_sidebar{$position} {{if !( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) && ( !isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) || !\count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) && \IPS\Dispatcher::i()->application->canManageWidgets() && !$adsForceSidebar}}ipsLayout_sidebarUnused{{endif}}' data-controller='core.front.widgets.sidebar'>
	<div class='theiaStickySidebar'>
		{{if $announcements = \IPS\core\Announcements\Announcement::loadAllByLocation( 'sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) )}}
			{template="announcementSidebar" group="global" app="core" params="$announcements"}
		{{endif}}
		{{if isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== ''}}
			<aside id="elContextualTools" class='ipsClearfix' {{if isset( \IPS\Output::i()->sidebar['sticky'] )}}data-ipsSticky{{endif}}>
				{expression="\IPS\Output::i()->sidebar['contextual']" raw="true"}
			</aside>
			<hr class='ipsHr ipsSpacer_both'>
		{{endif}}
		{{if $adsForceSidebar OR ( \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) ) )}}
			<div data-role='sidebarAd'>
				{advertisement="ad_sidebar"}
			</div>
			<br><br>
		{{endif}}
		{template="widgetContainer" group="global" app="core" params="'sidebar', 'vertical'"}
		</div>
	</div>
{{endif}}

 

برای کسانی که از IPS 4.5 به بالا استفاده میکنند کل کد های صفحه را با کد زیر جایگزین کنند.

 

{{$adsForceSidebar = ( \IPS\Settings::i()->ads_force_sidebar AND \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) );}}
{{if (isset( \IPS\Output::i()->sidebar['enabled'] ) and \IPS\Output::i()->sidebar['enabled'] ) && ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) || ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) || ( \IPS\Dispatcher::i()->application instanceof \IPS\Application AND \IPS\Dispatcher::i()->application->canManageWidgets() ) || $adsForceSidebar )}}
	<div id='ipsLayout_sidebar' class='chrisSidebar ipsLayout_sidebar{$position} {{if !( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) && ( !isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) || !\count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) && \IPS\Dispatcher::i()->application->canManageWidgets() && !$adsForceSidebar}}ipsLayout_sidebarUnused{{endif}}' data-controller='core.front.widgets.sidebar'>
	<div class='theiaStickySidebar'>
		{{if $announcements = \IPS\core\Announcements\Announcement::loadAllByLocation( 'sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) )}}
			{template="announcementSidebar" group="global" app="core" params="$announcements"}
		{{endif}}
		{{if isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== ''}}
			<aside id="elContextualTools" class='ipsClearfix' {{if isset( \IPS\Output::i()->sidebar['sticky'] )}}data-ipsSticky{{endif}}>
				{expression="\IPS\Output::i()->sidebar['contextual']" raw="true"}
			</aside>
			<hr class='ipsHr ipsSpacer_both ipsSpacer_double'>
		{{endif}}
		{{if $adsForceSidebar OR ( \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) ) )}}
			<div data-role='sidebarAd'>
				{advertisement="ad_sidebar"}
			</div>
			<br><br>
		{{endif}}
		{template="widgetContainer" group="global" app="core" params="'sidebar', 'vertical'"}
		</div>
	</div>
{{endif}}

سپس ذخیره کرده و نتیجه را مشاهده کنید.

این آموزش بر روی پوسته دیفالت و بعضی از پوسته ها تست شده و به خوبی کارمیکند. پس به هیچ وجه تضمینی بر این نیست که روی پوسته های دیگری که دستکاری زیاده شده باشد بدون مشکل کار کند.

با تشکر CHRIS-7 :good2:

  • پسند 2
  • تشکر 1
  • خوشحال 1
لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 1 ساعت قبل، CHRIS-7 گفته است :

با تشکر CHRIS-7

عالی بود خسته نباشی استاد همه بخش هارو باهاش چک کردم درست بود و به خوبی کار میکرد روی 4.5.3 فقط بخش کلاب رو مشکل داشت زمان اسکرول به پایین یهو خودکار اسکرول میکنه به ابتدای صفحه و هربار بری پایین میندازه بالا چون کلاب خودش سایدبار داره دیفالت و با بقیه بخش ها فرق میکنه و اگر بخوایم ساید بهش بدیم باید انتهای ویجت هایی که خودش داره بزاریم فکر میکنم به همین دلیل تو عملکرد مشکل ایجاد شده درسته؟ چطوری میشه حلش کنیم؟

ویرایش شده توسط Soheil
لینک ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش 1 بیلیون لایک داشت 🌺

مرسی از @CHRIS-7 عزیز بابت این آموزش مفید و کارآمد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

@CHRIS-7 مشکل رو متوجه شدم اگر ساید مطالبش بیشتر باشه یعنی از لحاظ عمودی برتری داشته باشه اجازه اسکرول نمیده تا انتهای سایت بری و به فوتر برسی مدام پرتت میکنه به بالاتر میخوای دسترسی بدم بتونی ببینی؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، Soheil گفته است :

اگر ساید مطالبش بیشتر باشه

تعداد مطالب اون بلوک رو روی عدد کمتر بزار و تست کن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 5 ساعت قبل، Arash.Ranjbar گفته است :

تعداد مطالب اون بلوک رو روی عدد کمتر بزار و تست کن

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 11 ساعت قبل، Soheil گفته است :

خبرخوان کلاب ها

این خبر خوان کلاب چندتا موضوع رو نمایش میده مگه؟ شاید بشه با دستکاری کدهاشو تغییر داد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 1 ساعت قبل، Arash.Ranjbar گفته است :

کلاب چندتا موضوع رو نمایش میده مگه

6تا با توضیحات کامل مطلب که طولانی میکنه سایدبار رو

تعدادشو کم کنیم عملا کاراییشو کم کردیم

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، Soheil گفته است :

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

راه حل خوبیه.

با آموزش دهنده @CHRIS-7 در ارتباط باشین شاید فرجی شد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...