Форумы / National / Russian / Почему конфликтуют !-- BEGIN: PRJ_ROWS --> ?

smit
#1 09.12.2016 18:57

На одной странице есть 2 штуки <!-- BEGIN: PRJ_ROWS -->:

1 в Placemarks - показывает все точки. 2 в списке заданий - показывает все задания.   

По одному они хорошие ребята, работают как надо. Если собрать двоих на одной странице, то они решают что остаться должен только один.

Чего это они? Как убрать этот конфликт?

Отредактировано: smit (09.12.2016 19:11, 7 лет назад)
Dr2005alex
#2 09.12.2016 20:25

Это походу баг шаблонизатора, давненько была такая ошибка. но особо не понял.  Решение в виде фикса замена имени блока к примеру добавить 2.   PRJ_ROWS2 и так же его парсинг в коде заменить  НЕ ЗНАЮ КАКОЙ ТАМ НА САМОМ ДЕЛЕ  КОД но типа того $t->parse("PROJECT.PRJ_ROWS2") сделать..

WebKaa.ru - Cotonti Relax
smit
#3 09.12.2016 21:13
#42498 Dr2005alex:

Это походу баг шаблонизатора, давненько была такая ошибка. но особо не понял.  Решение в виде фикса замена имени блока к примеру добавить 2.   PRJ_ROWS2 и так же его парсинг в коде заменить  НЕ ЗНАЮ КАКОЙ ТАМ НА САМОМ ДЕЛЕ  КОД но типа того $t->parse("PROJECT.PRJ_ROWS2") сделать..

Ну в /modules/projects/inc/projects.functions.php я нашел: 

	foreach($sqllist_rowset as $item)
	{
		$jj++;
		$t->assign(cot_generate_usertags($item, 'PRJ_ROW_OWNER_'));
		$t->assign(cot_generate_projecttags($item, 'PRJ_ROW_', $cfg['projects']['shorttextlen'], $usr['isadmin'],
										 $cfg['homebreadcrumb']));

		$t->assign(array(
			"PRJ_ROW_ODDEVEN" => cot_build_oddeven($jj),
		));
		$t->parse("PROJECTS.PRJ_ROWS");
	}

 

Т.е. это просто $t->parse("PROJECT.PRJ_ROWS2") приписать ниже? Наверно еще как-то где-то приклеить надо. 

Dr2005alex
#4 10.12.2016 05:25

 Но ту надо смотреть что и как. что за Placemarks где его глянуть можно и так же код самой страницы где встречаются 2 парня конфликтующих?

WebKaa.ru - Cotonti Relax
smit
#5 12.12.2016 02:13
#42503 Dr2005alex:

 Но ту надо смотреть что и как. что за Placemarks где его глянуть можно и так же код самой страницы где встречаются 2 парня конфликтующих?

Ну Placemarks это карта: https://cmsworks.ru/catalog/plugins/placemarks . Та самая, которую я мучаю уже 3 недели: https://www.cotonti.com/forums?m=posts&q=8280 .

Суть в том, что я решил - если гора не идет к магомеду, то перенесу я список вакансий на страницу с картой: http://k40v40.myjino.ru/projects?map=1

И вот там-то и встретились 2 плохих парня: от карты и от списка заданий.

<!-- BEGIN: MAIN -->
<div class="breadcrumb">{BREADCRUMBS}</div>
<h1>
<!-- IF {PHP.c} -->
	{CATTITLE}
<!-- ELSE -->
	{PHP.L.projects}
<!-- ENDIF -->
</h1>
<!-- IF {CATDESC} -->
<div class="well">{CATDESC}</div>
<!-- ENDIF -->
<div class="row">
	<div class="span3">
		<!-- IF {CATALOG} --><div class="well well-small">{CATALOG}</div><!-- ENDIF -->
		
		<!-- IF {PHP.cot_plugins_active.tags} AND {PHP.cot_plugins_active.tagslance} AND {PHP.cfg.plugin.tagslance.projects} -->
		<div class="mboxHD">{PHP.L.Tags}</div>
		{PRJ_TAG_CLOUD}
		<!-- ENDIF -->
				
	</div>
	<div class="span9">

		<!-- BEGIN: PTYPES -->
		<ul class="nav nav-tabs smt-none">
			<li<!-- IF {PTYPE_ALL_ACT} --> class="active"<!-- ENDIF -->><a href="{PTYPE_ALL_URL}">{PHP.L.All}</a></li>
			<!-- BEGIN: PTYPES_ROWS -->
			<li<!-- IF {PTYPE_ROW_ACT} --> class="active"<!-- ENDIF -->><a href="{PTYPE_ROW_URL}">{PTYPE_ROW_TITLE}</a></li>
			<!-- END: PTYPES_ROWS -->
			<!-- IF {PHP.cot_plugins_active.paypro} -->
			<li<!-- IF {PHP.forpro} --> class="active"<!-- ENDIF -->><a href="{FORPRO_URL}"><span class="label label-important">{PHP.L.paypro_forpro}</span></a></li>
			<!-- ENDIF -->
			<!-- IF {PHP.usr.auth_write} -->
			<li class="pull-right"><noindex><a rel="nofollow" class="btn btn-success" href="{SUBMITNEWPROJECT_URL}" title="{PHP.L.projects_add_to_catalog}">{PHP.L.projects_add_to_catalog}</a></noindex></li>
			<!-- ENDIF -->
		</ul>	
		<!-- END: PTYPES -->
		
		<div class="well">			
			<form action="{SEARCH_ACTION_URL}" method="get">
				<input type="hidden" name="map" value="1" />
				<input type="hidden" name="e" value="projects" />
				<input type="hidden" name="type" value="{PHP.type}" />
				<input type="hidden" name="l" value="{PHP.lang}" />
				<table width="100%" cellpadding="5" cellspacing="0">
					<tr>
						<td width="100">{PHP.L.Search}:</td>
						<td>{SEARCH_SQ}</td>
					</tr>
					<!-- IF {PHP.cot_plugins_active.locationselector} -->
					<tr>
						<td >{PHP.L.Location}:</td>
						<td>{SEARCH_LOCATION}</td>
					</tr>
					<!-- ENDIF -->
					<tr>
						<td >{PHP.L.Category}:</td>
						<td>{SEARCH_CAT}</td>
					</tr>
					<tr>
						<td>{PHP.L.Order}:</td>
						<td>{SEARCH_SORTER}</td>
					</tr>
					<tr>
						<td></td>
						<td><input type="submit" name="search" class="btn" value="{PHP.L.Search}" /></td>
					</tr>
				</table>		
			</form>
		</div>

		<!-- IF {PHP.cot_plugins_active.paypro} -->
			<!-- IF !{PHP|cot_getuserpro()} AND {PHP.cfg.plugin.paypro.projectslimit} > 0 AND {PHP.cfg.plugin.paypro.projectslimit} <= {PHP.usr.id|cot_getcountprjofuser($this)} -->
			<div class="alert alert-warning">{PHP.L.paypro_warning_projectslimit_empty}</div>
			<!-- ENDIF -->
			<!-- IF !{PHP|cot_getuserpro()} AND {PHP.cfg.plugin.paypro.offerslimit} > 0 AND {PHP.cfg.plugin.paypro.offerslimit} <= {PHP.usr.id|cot_getcountoffersofuser($this)} -->
			<div class="alert alert-warning">{PHP.L.paypro_warning_offerslimit_empty}</div>
			<!-- ENDIF -->
		<!-- ENDIF -->
		

// Карта начало
		<script type="text/javascript"> 
				var myMap, 
			        myPlacemark;
			   
				ymaps.ready(function () {

					myMap = new ymaps.Map("YMapsID", {
					   center: [55.76, 37.64],
					   zoom: 10
					}); 
			
					ymaps.geolocation.get({
					   provider: 'yandex',
					   mapStateAutoApply: true
					}).then(function (result) {
					   myMap.geoObjects.add(result.geoObjects);
					});

					myMap.controls.add(
						new ymaps.control.ZoomControl()
					);
					<!-- IF {PHP.totalitems} > 0 -->
					myMap.geoObjects 
						<!-- BEGIN: PRJ_ROWS -->
	.add(new ymaps.Placemark([{PRJ_ROW_PLACEMARKS_COORD}], {
				            balloonContent: '<a href="{PRJ_ROW_URL}">{PRJ_ROW_SHORTTITLE}</a>'
				        }))
<!-- END: PRJ_ROWS -->;
	<!-- ENDIF -->
				});
				
			</script>
<div class="smt-list-placemarks-1">
			<div id="YMapsID" style="height: 500px;"></div>
</div>     
//Карта конец

 <div>
		<!-- IF {PHP.cot_plugins_active.paypro} -->
			<!-- IF !{PHP|cot_getuserpro()} AND {PHP.cfg.plugin.paypro.projectslimit} > 0 AND {PHP.cfg.plugin.paypro.projectslimit} <= {PHP.usr.id|cot_getcountprjofuser($this)} -->
			<div class="alert alert-warning">{PHP.L.paypro_warning_projectslimit_empty}</div>
			<!-- ENDIF -->
			<!-- IF !{PHP|cot_getuserpro()} AND {PHP.cfg.plugin.paypro.offerslimit} > 0 AND {PHP.cfg.plugin.paypro.offerslimit} <= {PHP.usr.id|cot_getcountoffersofuser($this)} -->
			<div class="alert alert-warning">{PHP.L.paypro_warning_offerslimit_empty}</div>
			<!-- ENDIF -->
		<!-- ENDIF -->
		

//Список вакансий начало
<div id="listprojects">
<!-- BEGIN: PRJ_ROWS -->
	<div class="media<!-- IF {PRJ_ROW_ISBOLD} --> well prjbold<!-- ENDIF --><!-- IF {PRJ_ROW_ISTOP} --> well prjtop<!-- ENDIF -->">
				<h4>
					<!-- IF {PRJ_ROW_COST} > 0 --><div class="pull-right">{PRJ_ROW_COST} {PHP.cfg.payments.valuta}</div><!-- ENDIF -->
					<a href="{PRJ_ROW_URL}">{PRJ_ROW_SHORTTITLE}</a>
				</h4>
                <div class="smt-sdf-list-1">

                
                </div>
				<p class="owner small">{PRJ_ROW_OWNER_NAME} <span class="date">[{PRJ_ROW_DATE}]</span>   <span class="region">{PRJ_ROW_COUNTRY} {PRJ_ROW_REGION} {PRJ_ROW_CITY}</span>   {PRJ_ROW_EDIT_URL}</p>
				<p class="text">{PRJ_ROW_SHORTTEXT}</p>
				
				<!-- IF {PHP.cot_plugins_active.tags} AND {PHP.cot_plugins_active.tagslance} AND {PHP.cfg.plugin.tagslance.projects} -->
				<p class="small">{PHP.L.Tags}: 
					<!-- BEGIN: PRJ_ROW_TAGS_ROW --><!-- IF {PHP.tag_i} > 0 -->, <!-- ENDIF --><a href="{PRJ_ROW_TAGS_ROW_URL}" title="{PRJ_ROW_TAGS_ROW_TAG}" rel="nofollow">{PRJ_ROW_TAGS_ROW_TAG}</a><!-- END: PRJ_ROW_TAGS_ROW -->
					<!-- BEGIN: PRJ_ROW_NO_TAGS -->{PRJ_ROW_NO_TAGS}<!-- END: PRJ_ROW_NO_TAGS -->
				</p>
				<!-- ENDIF -->
				
				<div class="pull-right offers"><a href="{PRJ_ROW_OFFERS_ADDOFFER_URL}">{PHP.L.offers_add_offer}</a> ({PRJ_ROW_OFFERS_COUNT})</div>
				<div class="type"><!-- IF {PHP.cot_plugins_active.paypro} AND {PRJ_ROW_FORPRO} --><span class="label label-important">{PHP.L.paypro_forpro}</span> <!-- ENDIF --><!-- IF {PRJ_ROW_TYPE} -->{PRJ_ROW_TYPE} / <!-- ENDIF --><a href="{PRJ_ROW_CATURL}">{PRJ_ROW_CATTITLE}</a></div>
			</div>
			<hr/>
<!-- END: PRJ_ROWS -->;
	</div>
//Список вакансий конец

</div>
        
	</div>
</div>

<!-- END: MAIN -->

 

Добавлено 10 минут спустя:

Кстати, тут вспомнил в Вордпрессе мне помогала функция аннулирования данных последнего запроса: http://wp-kama.ru/function/wp_reset_query

Может тут что-то подобное существует?

Отредактировано: smit (15.12.2016 00:27, 7 лет назад)
Oldman
#6 01.03.2017 20:06

Столкнулся примерно с тем же. Долго не мог понять в чём дело. Поступил тупо. Вообще избавился от "скобок" в одном из  блоковsmiley. В смысле убрал begin и end. Помогло.