رفتن به مطلب
رونمایی از اولین و قویترین قالب IPS در ایران و در مارکتهای جهانی ×

:: مهم و ویژه :: بلوک اختصاصی با قابلیت « نمایش شناور » انجمن ها و زیرانجمن ها + نمایش همه ارسالات


پست های پیشنهاد شده

سلام دوستان، وقت تون بخیر و نیکی

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

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

تصویر 1 : بلوک اختصاصی کدنویسی شده با کدهای IPS بصورت نمایش شناور تالارها و موضوعات

sh.thumb.png.dc94093e67fa6bb4679f957561dec06a.png

تصویر 2 : قابلیت خود IPS در نمایش شناور تالارها و موضوعات

Sf.thumb.png.e7f1d0b0875b53e63c0f8f5f3ca3fe84.png

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

  • تعداد پاسخ 2
  • زمان ایجاد
  • آخرین پاسخ

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

روزهای محبوب

  • مدیر کل | موسس سایت

سلام.

سجاد جان ایده خوبیه و به کاربر میتونه تو جستجوی تالار با اعمال فیلتر کمک کنه.

من قول نمیدم که میتونم اجراییش کنم ولی روش وقت میزارم. به نظر میرسه بودنش میتونه جالب باشه.

ممنون از ایده و نظراتتون

IPSforum.ir  astrocat.webp

 

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

ممنون از توجه و استقبال دوستان 🙏

@Arash.Ranjbar بله بسیار ایده جالب و کاربردی هستش آرش جان، حتی میشه فقط به تالارهای مادر هم بسنده کنیم و از زیر تالارهای متعدد صرف نظر کنیم (منظور اینه که همون تالارهای گفتمان 1 و 2 و 3 و 4 رو فقط در ستون سمت راست داشته باشیم و زیادی شلوغش نکنیم، البته اینم یه ایده جدیده در نوع خودش)

@ali عزیز حقیقتا یه سری انجمن های مطرح خارجی پشتیبانی ips هستند که این قبیل ایده ها اگر درشون مطرح بشن دنبالش رو میگیرن و صددرصد به نتیجه میرسوننش، البته ما هم سعی و تلاش مون رو میکنیم تا ببینیم چی ازش میتونیم در بیاریم بالاخره

ضمنا تا جایی که من بررسی کردم باید از کدهای زیر برای این بلوک اختصاصی مد نظرمون استفاده بشه (البته من کلا زیاد از کدنویسی سر در نمیارم 🙃)

برای بلوک سمت راستی (تالارها و زیرتالارها):

<div data-controller="forums.front.forum.flow" class='ipsBox cForumMiniList_wrapper' id='elFluidFormFilters'>
	<div class='ipsSideMenu'>
		{{if \count( \IPS\forums\Forum::roots() ) === 1}}
			<ul class='ipsSideMenu_list cForumMiniList cForumMiniList_singleRoot'>
				{{foreach \IPS\forums\Forum::roots() as $category}}
					{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $category, 0"}
				{{endforeach}}
			</ul>
		{{else}}
			<ul class='ipsSideMenu_list cForumMiniList cForumMiniList_multiRoot'>
				{{foreach \IPS\forums\Forum::roots() as $category}}
					{{if $category->hasChildren()}}
						<li class="" data-category>
							<a href="{$category->url()}" data-parent-id="{$category->_id}" data-node-id="{$category->_id}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$category->_title}</a>
							{{if $category->hasChildren()}}
								<ul class='ipsSideMenu_list cForumMiniList'>
									{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $category, 0"}
								</ul>
							{{endif}}
						</li>
					{{endif}}
				{{endforeach}}
				{{if settings.club_nodes_in_apps and $clubForums = \IPS\forums\Forum::clubNodes()}}
					<li class="{{if \in_array( 'clubs', $map )}}cForumMiniList_categorySelected{{endif}}">
						<a href="{url="app=forums&module=forums&controller=index&forumId=clubs" seoTemplate="forums"}" data-parent-id="clubs" data-node-id="clubs" class='{{if \in_array( 'clubs', $map )}}cForumMiniList_selected{{endif}} ipsSideMenu_item ipsTruncate ipsTruncate_line'>{lang="club_node_forums"}</a>
						<ul class='ipsSideMenu_list cForumMiniList'>
							{{foreach $clubForums as $idx => $forum}}
								{{$lastPost = $forum->lastPost();}}
								{{$unread = \IPS\forums\Topic::containerUnread( $forum );}}
								{{$children = $forum->children();}}
								{{if ! $forum->redirect_on and $forum->can('read') }}
									<li class="{{if $children}}cForumMiniList_category{{endif}} {{if isset( $map[ $forum->parent_id ] ) AND \in_array( $forum->_id, $map[ $forum->parent_id ] )}}cForumMiniList_categorySelected{{endif}}">
										<a href="{$forum->url()}" data-parent-id="clubs" data-node-id="{$forum->_id}" data-has-children="{{if $children}}1{{else}}0{{endif}}" class='{{if \in_array( $forum->_id, $forumIds )}}cForumMiniList_selected{{endif}} ipsSideMenu_item {{if !$unread}}cForumMiniList_unread{{endif}}'>
											<span class='cForumMiniList_blob' {{if $forum->feature_color}}style="background-color: {$forum->feature_color}; color: {$forum->_featureTextColor};"{{endif}} {{if $lastPost AND $lastPost['date']}}title="{lang="forum_simple_view_last_post"} {datetime="$lastPost['date']"}" data-ipsTooltip data-ipsTooltip-safe{{endif}}>
												<span></span>
												<i class='fa fa-check'></i>
											</span>
											<span class='cForumMiniList_title ipsTruncate ipsTruncate_line'>
												{{if $unread}}<strong>{{endif}}{lang="club_node" sprintf="$forum->club()->name, $forum->_title"}{{if $unread}}</strong>{{endif}}
											</span>
											<span class='ipsType_small ipsType_light cForumMiniList_count'>{number="\IPS\forums\Topic::contentCount( $forum )" format="short"}</span>
										</a>
									</li>
								{{endif}}
							{{endforeach}}
						</ul>
					</li>
				{{endif}}
			</ul>
		{{endif}}
	</div>
	<div class='ipsResponsive_hideDesktop ipsResponsive_block'>
		<hr class='ipsHr'>
		<a href='#' class='ipsButton ipsButton_fullWidth ipsButton_primary ipsButton_medium' data-action='dialogClose'>{lang="done_forum_filtering"}</a>
	</div>
</div>

برای بلوک سمت راستی (نمایش موضوعات و نوشته ها) :

<div class='ipsBox cForumFluidTable' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-tableID='topics' data-dummyLoading data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}'>
	{{if $table->title}}
		<h2 class='ipsType_sectionTitle ipsHide {{if !$table->container()->forums_bitoptions['bw_enable_answers']}}ipsType_medium{{endif}} ipsType_reset ipsClear'>{$table->title}</h2>
	{{endif}}

	{{if $table->count > 0}}
	<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
		{{if $table->canModerate()}}
			<ul class="ipsButtonRow ipsPos_right ipsClearfix">
				<li>
					<a class="ipsJS_show" href="#elCheck_menu" id="elCheck_{$table->uniqueId}" title='{lang="{$table->langPrefix}select_rows_tooltip"}' data-ipsTooltip data-ipsAutoCheck data-ipsAutoCheck-context="#elTable_{$table->uniqueId}" data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active">
						<span class="cAutoCheckIcon ipsType_medium"><i class="fa fa-square-o"></i></span> <i class="fa fa-caret-down"></i>
						<span class='ipsNotificationCount' data-role='autoCheckCount'>0</span>
					</a>
					<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsHide" id="elCheck_{$table->uniqueId}_menu">
						<li class="ipsMenu_title">{lang="{$table->langPrefix}select_rows"}</li>
						<li class="ipsMenu_item" data-ipsMenuValue="all"><a href="#">{lang="all"}</a></li>
						<li class="ipsMenu_item" data-ipsMenuValue="none"><a href="#">{lang="none"}</a></li>
						{{if \count($table->getFilters())}}
							<li class="ipsMenu_sep"><hr></li>
							{{foreach $table->getFilters() as $filter}}
								<li class="ipsMenu_item" data-ipsMenuValue="{$filter}"><a href="#">{lang="$filter"}</a></li>
							{{endforeach}}
						{{endif}}
					</ul>
				</li>
			</ul>
		{{endif}}
		<ul class="ipsButtonRow ipsPos_right ipsClearfix">
			{{if isset( $table->sortOptions ) and !empty( $table->sortOptions ) }}
				<li>
					<a href="#elSortByMenu_menu" id="elSortByMenu_{$table->uniqueId}" data-role='sortButton' data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="sort_by"} <i class="fa fa-caret-down"></i></a>
					<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
						{{$custom = TRUE;}}
						{{foreach $table->sortOptions as $k => $col}}
							<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage( 'page', 1 )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
						{{endforeach}}
						{{if $table->advancedSearch}}
							<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
								<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"}</a>
							</li>
						{{endif}}
					</ul>
				</li>
			{{endif}}
			{{if !empty( $table->filters )}}
				<li>
					<a href="#elFilterByMenu_menu" id="elFilterByMenu_{$table->uniqueId}" data-role='tableFilterMenu' data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="filter_by"} <i class="fa fa-caret-down"></i></a>
					<ul class='ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide' data-role="tableFilterMenu" id='elFilterByMenu_{$table->uniqueId}_menu'>
						<li data-action="tableFilter" data-ipsMenuValue='' class='ipsMenu_item {{if !$table->filter}}ipsMenu_itemChecked{{endif}}'>
							<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage( 'page', 1 )}'>{lang="{$table->langPrefix}all"}</a>
						</li>
						{{foreach $table->filters as $k => $q}}
							<li data-action="tableFilter" data-ipsMenuValue='{$k}' class='ipsMenu_item {{if $k === $table->filter}}ipsMenu_itemChecked{{endif}}'>
								<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection) )->setPage( 'page', 1 )}'>{lang="{$table->langPrefix}{$k}"}</a>
							</li>
						{{endforeach}}
					</ul>
				</li>
			{{endif}}
		</ul>

		{{if $table->pages > 1}}
			<div data-role="tablePagination">
				{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
			</div>
		{{endif}}
	</div>
	{{endif}}
	{{if $table->canModerate()}}
		<form action="{$table->baseUrl->csrf()}" method="post" data-role='moderationTools' data-ipsPageAction>
	{{endif}}
		{{if \count( $rows )}}
			<ol class='ipsDataList ipsDataList_zebra ipsClear cForumTopicTable {{foreach $table->classes as $class}}{$class} {{endforeach}}' id='elTable_{$table->uniqueId}' data-role="tableRows">
				{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
			</ol>
		{{else}}
			<div class='ipsType_center ipsPad'>
				<p class='ipsType_large'>{lang="no_topics_in_forum"}</p>
			</div>
		{{endif}}
		{{if $table->canModerate()}}
			<div class="ipsAreaBackground ipsPad ipsClearfix ipsJS_hide" data-role="pageActionOptions">
				<div class="ipsPos_right">
					<select name="modaction" data-role="moderationAction">
						{{if $table->canModerate('unhide')}}
							<option value='approve' data-icon='check-circle'>{lang="approve"}</option>
						{{endif}}
						{{if $table->canModerate('feature') or $table->canModerate('unfeature')}}
							<optgroup label="{lang="feature"}" data-icon='star' data-action='feature'>
								{{if $table->canModerate('feature')}}
									<option value='feature'>{lang="feature"}</option>
								{{endif}}
								{{if $table->canModerate('unhide')}}
									<option value='unfeature'>{lang="unfeature"}</option>
								{{endif}}
							</optgroup>
						{{endif}}
						{{if $table->canModerate('pin') or $table->canModerate('unpin')}}
							<optgroup label="{lang="pin"}" data-icon='thumb-tack' data-action='pin'>
								{{if $table->canModerate('pin')}}
									<option value='pin'>{lang="pin"}</option>
								{{endif}}
								{{if $table->canModerate('unpin')}}
									<option value='unpin'>{lang="unpin"}</option>
								{{endif}}
							</optgroup>
						{{endif}}
						{{if $table->canModerate('hide') or $table->canModerate('unhide')}}
							<optgroup label="{lang="hide"}" data-icon='eye' data-action='hide'>
								{{if $table->canModerate('hide')}}
									<option value='hide'>{lang="hide"}</option>
								{{endif}}
								{{if $table->canModerate('unhide')}}
									<option value='unhide'>{lang="unhide"}</option>
								{{endif}}
							</optgroup>
						{{endif}}
						{{if $table->canModerate('lock') or $table->canModerate('unlock')}}
							<optgroup label="{lang="lock"}" data-icon='lock' data-action='lock'>
								{{if $table->canModerate('lock')}}
									<option value='lock'>{lang="lock"}</option>
								{{endif}}
								{{if $table->canModerate('unlock')}}
									<option value='unlock'>{lang="unlock"}</option>
								{{endif}}
							</optgroup>
						{{endif}}
						{{if $table->canModerate('move')}}
							<option value='move' data-icon='arrow-right'>{lang="move"}</option>
						{{endif}}
						{{if $table->canModerate('split_merge')}}
							<option value='merge' data-icon='level-up'>{lang="merge"}</option>
						{{endif}}
						{{if $table->canModerate('delete')}}
							<option value='delete' data-icon='trash'>{lang="delete"}</option>
						{{endif}}
						{{if $table->savedActions}}
							<optgroup label="{lang="saved_actions"}" data-icon='tasks' data-action='saved_actions'>
								{{foreach $table->savedActions as $k => $v}}
									<option value='savedAction-{$k}'>{$v}</option>
								{{endforeach}}
							</optgroup>
						{{endif}}
					</select>
					<button type="submit" class="ipsButton ipsButton_alternate ipsButton_verySmall">{lang="submit"}</button>
				</div>
			</div>
		</form>
	{{endif}}
	{{if $table->pages > 1}}
		<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
			<div data-role="tablePagination">
				{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
			</div>
		</div>
	{{endif}}
</div>

 

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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
  • کاربران آنلاین در این صفحه   0 کاربر

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

اطلاعات مهم

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