Привязки экстраполей к определенным категориям в проектах, необходима?

88.5% 23
11.5% 3

26 Дата 01.05.2015 11:59

Опрос: Вывод экстраполей в зависимости от выбранной категории в проектах

Автор Сообщение

yarabotane

Victor
#1/01.05.2015 11:59
0

Пользователи

Карма: +93

Привязки экстраполей к определенным категориям в проектах нет (если неправ поправьте), с такой возможностью универсальность FL возрастает в разы, есть ли возможность сделать привязку?

Сообщения: 336

yarabotane

Victor
#3/01.05.2015 12:22
0

Пользователи

Карма: +93

Я пробовал но не условями, а шаблонами для каждой категории (практически) плюс еще пару ньюансов так более универсальнее выходит, в результате получаеться но все это не очень удобно с привязкой было бы намного быстрей.

Сообщения: 336

CrazyFreeMan

Ярослав
#4/01.05.2015 15:13
0

Модераторы

Карма: +317

Этот вопрос нужно решать на уровне котонти а не фл. Пишите на форум к разработчикам cmf , сейчас без крови такое не реализовать
Сообщения: 1249

yarabotane

Victor
#5/18.07.2015 15:54
0

Пользователи

Карма: +93

#9184 Attar:

Есть, пишиье в шаблоне условия.

Визуально управлять привязкой нельзя, это не джумла.

Можете показать на примере как реализовать.

И еще вопрос. Для каждой основной категории, я делаю свой шаблон в котором стоят нужные екстраполя. Как сделать так чтоб при создании проекта (уже на странице ввода данных в projects.add и на странице редактирования) при выборе другой категории подгружался нужный шаблон.

Сообщения: 336

yarabotane

Victor
#7/18.07.2015 17:46
0

Пользователи

Карма: +93

Подскажите как сделать, самое основное.

Сообщения: 336

yarabotane

Victor
#9/18.07.2015 18:04
0

Пользователи

Карма: +93

#10273 sv_nikoloze:

<!-- IF {PHP.c} == 'management' -->Тут экстраполе для категории management<!-- ENDIF --> и т.д.

Спасибо, теперь немного с бубном потанцую.)

Сообщения: 336

yarabotane

Victor
#11/18.07.2015 19:07
+1

Пользователи

Карма: +93

#10274 yarabotane:
#10273 sv_nikoloze:

<!-- IF {PHP.c} == 'management' -->Тут экстраполе для категории management<!-- ENDIF --> и т.д.

Спасибо, теперь немного с бубном потанцую.)

Вот такая идея пришла, можно создать страницу со всема категориями ссылки которых ведут на нужный шаблон, это первый шаг, а в самом шаблоне убрать выбор категории, тогда вроде должно работать.

Сообщения: 336

yarabotane

Victor
#13/21.07.2015 17:56
0

Пользователи

Карма: +93

#10277 sv_nikoloze:

Вариантов реализации много.
Может http://авточувашия.рф/page?m=add&c=cars отсюда почерпаете что нибудь еще.

Я так понимаю что здесь стоит плагин, так как пробовал по аналогии с page? ничего не получается . По коду смотрю вроде все самое а вот страничку не обновляет.

Сообщения: 336

yarabotane

Victor
#14/23.07.2015 18:29
0

Пользователи

Карма: +93

#10271 sv_nikoloze:

Хотя если нужна псевдо динамичность, то можно все это сделать на ajax, однако если пользователь уже заполнил текст цену и т.д. и передумал на счет категории, то при смене, все собьется... Хотя и тут можно похитрить, но это уже танцы с бубнами )

Можете показать на примере как организовать?

 

Сообщения: 336

yarabotane

Victor
#15/25.07.2015 10:50
0

Пользователи

Карма: +93

Добавил такой код

$(function () {

    $('select[name="rcat"]').change(function(){
        var cat = $(this).val();
        if(jQuery.inArray(cat, ab_cats) != -1 ||  jQuery.inArray(ab_currCat, ab_cats) != -1){
            window.location.href = "/index.php?e=projects?m=add&c=" + cat;
        }
    });

});

Есть следущуя ошибка

ReferenceError: ab_cats is not defined

Что делаю не так?

Сообщения: 336

CrazyFreeMan

Ярослав
#16/25.07.2015 13:50
0

Модераторы

Карма: +317

В ошибке и написано что не так, где инициализация переменной ab_cats?

Сообщения: 1249

CrazyFreeMan

Ярослав
#18/25.07.2015 14:18
+1

Модераторы

Карма: +317

Можно и без инглиша :)  http://mycotonti.ru/docs/devel/AJAX-Helpers-v-Cotonti

Сообщения: 1249

yarabotane

Victor
#20/25.07.2015 15:43
0

Пользователи

Карма: +93

Нет не получаеися у меня ничего Вот так сделал, сразу предупреждаю пинать меня не надо так как знаний в этом мизер


<div id="ajaxBlock">  - здесь добавил
	<form action="{PRJADD_FORM_SEND}" class="ajax" (- здесь добавил) method="post" name="newadv" enctype="multipart/form-data">
		<table class="table">

			<tr>
				<td width="150">{PHP.L.Category}:</td>
				<td>{PRJADD_FORM_CAT }</td>
			</tr>			

				<td>
					<input type="submit" class="btn btn-info" value="{PHP.L.projects_next}" />
				</td>
			</tr>
		</table>
	</form>
</div>

 

Сообщения: 336

CrazyFreeMan

Ярослав
#21/25.07.2015 16:16
0

Модераторы

Карма: +317

Нет, внимательно читайте статью, не правильно оформили код (в формы обязательно наличие ID, <div id="ajaxBlock"> лишнее, в форме указывается класс  и потом post-ID_куда_отвечать_скрипту ), обьяснять долго а готовое решение предоставить - не интересно, потому внимательно читайте статью (на русском же) и пробуйте

Сообщения: 1249

yarabotane

Victor
#22/25.07.2015 16:34
0

Пользователи

Карма: +93

Сделал заказ, видно мне не дано.(

Сообщения: 336

yarabotane

Victor
#23/26.07.2015 17:19
0

Пользователи

Карма: +93

#10398 CrazyFreeMan:

Нет, внимательно читайте статью, не правильно оформили код (в формы обязательно наличие ID, <div id="ajaxBlock"> лишнее, в форме указывается класс  и потом post-ID_куда_отвечать_скрипту ), обьяснять долго а готовое решение предоставить - не интересно, потому внимательно читайте статью (на русском же) и пробуйте

Не получается у меня, посмотреть хотя б пример как сделано в модуле page. тогда я бы имел хотяб какоето представление что к чему, ..бывает неполучается и точка)

Сообщения: 336

CrazyFreeMan

Ярослав
#24/26.07.2015 19:52
+2

Модераторы

Карма: +317

Что не получается? Я открыл исходный код и за 2 минуты разобрался.

1. Есть массив где перечесленны категории

//<![CDATA[
var ab_cats = [ 'adv', 'vehicle', 'cars', 'trucks', 'small-trucks', 'microbus', 'bus', 'trailers-cargo', 'trailers-automobile', 'special-vehicles', 'agricultural-vehicles', 'water-vehicles', 'motobike-vehicles', 'auto-tovary', 'tyres', 'wheels', 'oils', 'chemistry', 'filters', 'accums', 'electric', 'avtokresla', 'accessories', 'glushiteli', 'body-parts', 'engine_parts', 'optics', 'suspension', 'steering', 'transmission', 'brake-system', 'fuel-system', 'electrical-system', 'tools', 'parts', 'garage', 'purchase', 'autotraders', 'autoshops', 'autoservice', 'autouslugi', 'adresa-telefony', 'notariusy']; var ab_currCat = 'trailers-cargo'
//]]>

2. У нас обычное событие для елемента по его изменению 

  $('select[name="rpagecat"]').change(function(){
        var cat = $(this).val();
        if(jQuery.inArray(cat, ab_cats) != -1 ||  jQuery.inArray(ab_currCat, ab_cats) != -1){
            window.location.href = "/page?m=add&c=" + cat;
        }
    });

3. При выборе категории - проверяется соответствие категории в массиве - страница перегружается и подтягивается нужный шаблон

Учтите что обязательные поля должны быть во всех категориях (специфика работы обязательных полей), на сайте примере так же - те поля что обязательны они присущи всем категориям а разные по назначению - не обязательны (их проверять нужно будет ecmascript-oм)

Открывайте консоль и дебажте если что не так.

 

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

И то что выше писали просто на просто добавить аякс загрузку шаблона (сделайте обычным методом а потом аякс уже прикрутить не сложно) 

Сообщения: 1249

yarabotane

Victor
#25/29.07.2015 14:37
0

Пользователи

Карма: +93

#10412 CrazyFreeMan:

Что не получается? Я открыл исходный код и за 2 минуты разобрался.

1. Есть массив где перечесленны категории

//<![CDATA[
var ab_cats = [ 'adv', 'vehicle', 'cars', 'trucks', 'small-trucks', 'microbus', 'bus', 'trailers-cargo', 'trailers-automobile', 'special-vehicles', 'agricultural-vehicles', 'water-vehicles', 'motobike-vehicles', 'auto-tovary', 'tyres', 'wheels', 'oils', 'chemistry', 'filters', 'accums', 'electric', 'avtokresla', 'accessories', 'glushiteli', 'body-parts', 'engine_parts', 'optics', 'suspension', 'steering', 'transmission', 'brake-system', 'fuel-system', 'electrical-system', 'tools', 'parts', 'garage', 'purchase', 'autotraders', 'autoshops', 'autoservice', 'autouslugi', 'adresa-telefony', 'notariusy']; var ab_currCat = 'trailers-cargo'
//]]>

Возник вопрос с массивом, прописал просто в футере со своими категориями вроде все работает, но есть еще

var ab_currCat

и при смене категории на сайте примере значение переменной в массиве меняется, вобщем вопрос - как выполняется это действие?

Сообщения: 336

CrazyFreeMan

Ярослав
#26/01.08.2015 17:45
0

Модераторы

Карма: +317

Смею предположить что если массив  экмаскрипта формируется через СДАТА вместе с нужной переменно то видимо это все дело делается на стороне  бекенда - проверяется какая категория выбрана  - создает СДАТА с нужными параметрами

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

ну или банальное подставление тега выбранной категории типа var ab_currCat = '{PHP.c}'

Сообщения: 1249

yarabotane

Victor
#27/04.08.2015 17:32
0

Пользователи

Карма: +93

Код <!-- IF {PHP.c} == 'management' -->Тут экстраполе для категории management<!-- ENDIF --> не работает на странице превью и редактирования, есть ли решение данного вопроса?

Сообщения: 336

yarabotane

Victor
#29/04.08.2015 19:28
0

Пользователи

Карма: +93

#10615 sv_nikoloze:
#10612 yarabotane:

Код <!-- IF {PHP.c} == 'management' -->Тут экстраполе для категории management<!-- ENDIF --> не работает на странице превью и редактирования, есть ли решение данного вопроса?

Там другие переменные. Смотри {PHP|dump}

Вот так заработало <!-- IF !{PHP.c} == 'management' -->Тут экстраполе для категории management<!-- ENDIF --> правда не знаю правильно или нет

Сообщения: 336

yarabotane

Victor
#30/05.08.2015 17:42
0

Пользователи

Карма: +93

#10623 yarabotane:

Вот так заработало <!-- IF !{PHP.c} == 'management' -->Тут экстраполе для категории management<!-- ENDIF --> правда не знаю правильно или нет

Нет всьо-таки неправильно так выводит все подряд((

Сообщения: 336