Forums / National / Russian / Тех. поддержка / Экстраполя для групп

12>>>

Как настроить?

yugrin
#1 2016-06-22 08:23

Здравствуйте.

Для фриланс биржи потребовались экстраполя, отдельно для группы "Фрилансеры" и отдельно для группы "Работадатели". Подскажите, как настроить.

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

Macik
#2 2016-06-23 10:37

Экстраполя по своей сути это обычное поле в таблице БД. Т.е. при создании экстраполя для какой либо сущности (например «пользователи») — в таблице `cot_users` будет создано дополнительное поле, естественно применимое ко всем записям таблицы.

Т.е. создать экстраполе только для определенной категории нельзя.

Для решения вашей задачи можно пойти двумя путями:

  1. Если тип поля предполагается одинаковым для разных групп пользователей — можно создать одно, и на уровне шаблона менять заголовок при его выводе в зависимости от типа пользователя (группы).
  2. Если тип полей нужен разный — создать 2 экстаполя, и опять же, на уровне шаблонов делать вывод конкретного, в зависимости от группы пользователя.
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
yugrin
#3 2016-06-25 05:41

Огромное спасибо за отклик. Примено в этом направлении (п.2) я и думал двигаться. Cotonti для меня движок новый, поэтому приходится разбираться методом тыка. Я так понимаю, для показа/скрытия поля в зависимости от группы, надо использовать условие IF и класс HIDDEN в шаблонах. Пробовал погуглить на эту тему, но хорошей документации или советов на эту тему не нарыл. Движок хороший и быстрый, но оч. не хватает функциональности для чайников.

Dr2005alex
#4 2016-06-25 08:35

Есть статья с примерами, как пользоваться условиями в шаблонах. Сюда идем и читаем ))

WebKaa.ru - Cotonti Relax
yugrin
#5 2016-06-25 10:57

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

Macik
#6 2016-06-25 14:19
#41822 yugrin:

Я так понимаю, для показа/скрытия поля в зависимости от группы, надо использовать условие IF и класс HIDDEN в шаблонах. 

Я бы рекомендовал не использовать «скрывающий класс», а исключать вывод не нужного в принципе. Зачем в странице лишний мусор?

(код в примере условный, лишь для демонстрации идеи. 1 и 4 в данном примере ID групп Гости и Пользователи)

<!-- IF {PHP.usr.maingrp} == 1 -->
	<tr>
		<td>{PHP.L.guests_extra_title}:</td>
		<td>{USERS_EXTRA_GUESTDATA}</td>
	</tr>
<!-- ENDIF -->
<!-- IF {PHP.usr.maingrp} == 4 -->
	<tr>
		<td>{PHP.L.users_extra_title}:</td>
		<td>{USERS_EXTRA_USERDATA}</td>
	</tr>
<!-- ENDIF -->


 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
yugrin
#7 2016-06-25 15:29

Прнинимаю замечание)) я чуть чуть "раскушал" cotonti. Возможностей действительно много. Но для их реализации нужны знания. Если бы смастерить, что-то вроде конструктора, где в нужный шаблон можно было вставлять теги, выбирая их из списка, а еще лучше, перетаскиваением (аналогичные штучки имеются в instant cms или в social engine), то поклонников у cotonti стало бы в разы больше. Шибко мало сейчас желающих писать коды в ноутпед++))) народ сейчас оч. ленивый.

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

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


Dit bericht is bewerkt door yugrin (2016-06-25 15:36, 7 jaren ago)
Macik
#8 2016-06-25 17:01
#41833 yugrin:

...

Если бы смастерить, что-то вроде конструктора, где в нужный шаблон можно было вставлять теги, выбирая их из списка, а еще лучше, перетаскиваением (аналогичные штучки имеются в instant cms или в social engine), то поклонников у cotonti стало бы в разы больше.

Это будет полумерой. Тогда уж стоит писать визуальный редактор / конструктор сайтов. Но это работа другого порядка.

Шибко мало сейчас желающих писать коды в ноутпед++))) народ сейчас оч. ленивый.

Соглашусь.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
виталик
#9 2022-01-26 23:29
#41829 Macik:
#41822 yugrin:

Я так понимаю, для показа/скрытия поля в зависимости от группы, надо использовать условие IF и класс HIDDEN в шаблонах. 

Я бы рекомендовал не использовать «скрывающий класс», а исключать вывод не нужного в принципе. Зачем в странице лишний мусор?

(код в примере условный, лишь для демонстрации идеи. 1 и 4 в данном примере ID групп Гости и Пользователи)

<!-- IF {PHP.usr.maingrp} == 1 -->
	<tr>
		<td>{PHP.L.guests_extra_title}:</td>
		<td>{USERS_EXTRA_GUESTDATA}</td>
	</tr>
<!-- ENDIF -->
<!-- IF {PHP.usr.maingrp} == 4 -->
	<tr>
		<td>{PHP.L.users_extra_title}:</td>
		<td>{USERS_EXTRA_USERDATA}</td>
	</tr>
<!-- ENDIF -->


 

А как сделать, что для несеолько групп ? Запятыми разделить ? 1, 3  Или как ?

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

#45519 виталик:
#41829 Macik:
#41822 yugrin:

Я так понимаю, для показа/скрытия поля в зависимости от группы, надо использовать условие IF и класс HIDDEN в шаблонах. 

Я бы рекомендовал не использовать «скрывающий класс», а исключать вывод не нужного в принципе. Зачем в странице лишний мусор?

(код в примере условный, лишь для демонстрации идеи. 1 и 4 в данном примере ID групп Гости и Пользователи)

<!-- IF {PHP.usr.maingrp} == 1 -->
	<tr>
		<td>{PHP.L.guests_extra_title}:</td>
		<td>{USERS_EXTRA_GUESTDATA}</td>
	</tr>
<!-- ENDIF -->
<!-- IF {PHP.usr.maingrp} == 4 -->
	<tr>
		<td>{PHP.L.users_extra_title}:</td>
		<td>{USERS_EXTRA_USERDATA}</td>
	</tr>
<!-- ENDIF -->


 

А как сделать, что для несеолько групп ? Запятыми разделить ? 1, 3  Или как ?

Чот у меня не то, и не другое не работает

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

#45519 виталик:
#41829 Macik:
#41822 yugrin:

Я так понимаю, для показа/скрытия поля в зависимости от группы, надо использовать условие IF и класс HIDDEN в шаблонах. 

Я бы рекомендовал не использовать «скрывающий класс», а исключать вывод не нужного в принципе. Зачем в странице лишний мусор?

(код в примере условный, лишь для демонстрации идеи. 1 и 4 в данном примере ID групп Гости и Пользователи)

<!-- IF {PHP.usr.maingrp} == 1 -->
	<tr>
		<td>{PHP.L.guests_extra_title}:</td>
		<td>{USERS_EXTRA_GUESTDATA}</td>
	</tr>
<!-- ENDIF -->
<!-- IF {PHP.usr.maingrp} == 4 -->
	<tr>
		<td>{PHP.L.users_extra_title}:</td>
		<td>{USERS_EXTRA_USERDATA}</td>
	</tr>
<!-- ENDIF -->


 

А как сделать, что для несеолько групп ? Запятыми разделить ? 1, 3  Или как ?

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

#45519 виталик:
#41829 Macik:
#41822 yugrin:

Я так понимаю, для показа/скрытия поля в зависимости от группы, надо использовать условие IF и класс HIDDEN в шаблонах. 

Я бы рекомендовал не использовать «скрывающий класс», а исключать вывод не нужного в принципе. Зачем в странице лишний мусор?

(код в примере условный, лишь для демонстрации идеи. 1 и 4 в данном примере ID групп Гости и Пользователи)

<!-- IF {PHP.usr.maingrp} == 1 -->
	<tr>
		<td>{PHP.L.guests_extra_title}:</td>
		<td>{USERS_EXTRA_GUESTDATA}</td>
	</tr>
<!-- ENDIF -->
<!-- IF {PHP.usr.maingrp} == 4 -->
	<tr>
		<td>{PHP.L.users_extra_title}:</td>
		<td>{USERS_EXTRA_USERDATA}</td>
	</tr>
<!-- ENDIF -->


 

А как сделать, что для несеолько групп ? Запятыми разделить ? 1, 3  Или как ?

Чот у меня не то, и не другое не работает

Не работают эти условия, не работают. Информация отображаеться всем, даже для тех, кто прилетел с марса 


Dit bericht is bewerkt door виталик (2022-02-04 11:03, 2 jaren ago)
webitproff
#10 2022-02-04 12:53

читаем внимательно документацию, чтобы не гадать да обвинять тут виталик

<!-- IF {PHP.usr.maingrp} == 4 OR {PHP.usr.maingrp} == 7 -->
тут контент для фрилансеров и/или заказчиков (для фриланс биржи например)
<!-- ELSE -->
тут контент всем остальным, кто не входит в группы, ID которых указаны условием выше
<!-- ENDIF -->

 

аккаунт удален - не срослось с разработчиками
ушел на другой движок
виталик
#11 2022-02-07 16:48
#45535 webitproff:

читаем внимательно документацию, чтобы не гадать да обвинять тут виталик

<!-- IF {PHP.usr.maingrp} == 4 OR {PHP.usr.maingrp} == 7 -->
тут контент для фрилансеров и/или заказчиков (для фриланс биржи например)
<!-- ELSE -->
тут контент всем остальным, кто не входит в группы, ID которых указаны условием выше
<!-- ENDIF -->

Спасибо. Просто мне другие условия давали на этом форуме, которые нифига не рабоьают. А как сделать условие такое :  Если поле запонено, то показать поле. Если поле не заполнено, то скрыть поле. Ну к примеру  поле с номером телефона. Телефон: 8 917 - 999-99-99  Тесть название поля скрыть если не запонено.

 

webitproff
#12 2022-02-07 18:25
#45542 виталик: Если поле не заполнено, то скрыть поле. Ну к примеру  поле с номером телефона. Телефон: 8 917 - 999-99-99  Тесть название поля скрыть если не запонено.
 

1. вот статья по экстраполям для профиля пользователя, должна помочь соориентироваться имено в части полей по шаблонам.

2. Для поля номера телефона создаем экстраполе "Phone_contact" и затем в тему сайта, в шаблон карточки пользователя, например:

/public_html/themes/ИМЯТЕМЫ/modules/users/users.details.tpl

вставляем

<!-- IF {USERS_DETAILS_PHONE_CONTACT} -->
<!-- Если экстраполе Phone_contact заполненно то показываем -->
<li><img class="uk-margin-small-right" width="27" height="27" alt="" uk-img="data-src: themes/{PHP.theme}/img/iconuserdet/smartphone.svg" uk-svg="uk-preserve" ><span class="uk-text-middle uk-margin-small-right">{USERS_DETAILS_PHONE_CONTACT_TITLE}</span><span class="uk-text-middle uk-link-text">{USERS_DETAILS_PHONE_CONTACT}</span></li>
<!-- ELSE -->
<!-- Если экстраполе Phone_contact НЕ заполненно, то показываем -->
<li><img class="uk-margin-small-right" width="27" height="27" alt="" uk-img="data-src: themes/{PHP.theme}/img/iconuserdet/smartphone.svg" uk-svg="uk-preserve"><span class="uk-text-middle uk-link-text">{USERS_DETAILS_PHONE_CONTACT_TITLE}</span>
<span class="uk-text-middle uk-text-muted">
пользователь заглухарился
</span></li>
<!-- ENDIF -->

в коде моя верстка, у Вас явно своя,

самое простое

<!-- IF {USERS_DETAILS_PHONE_CONTACT} -->
<!-- уже можно сказать как ребенку, :) Если экстраполе Phone_contact заполненно и отображение в .TPL "обёрнуто" услувием "IF-ENDIF" то показываем -->
{USERS_DETAILS_PHONE_CONTACT_TITLE}: {USERS_DETAILS_PHONE_CONTACT}
<!-- ENDIF -->

 

аккаунт удален - не срослось с разработчиками
ушел на другой движок

Dit bericht is bewerkt door webitproff (2022-02-07 19:37, 2 jaren ago)
виталик
#13 2022-02-08 06:08
#45543 webitproff:
#45542 виталик: Если поле не заполнено, то скрыть поле. Ну к примеру  поле с номером телефона. Телефон: 8 917 - 999-99-99  Тесть название поля скрыть если не запонено.
 

1. вот статья по экстраполям для профиля пользователя, должна помочь соориентироваться имено в части полей по шаблонам.

2. Для поля номера телефона создаем экстраполе "Phone_contact" и затем в тему сайта, в шаблон карточки пользователя, например:

/public_html/themes/ИМЯТЕМЫ/modules/users/users.details.tpl

вставляем

<!-- IF {USERS_DETAILS_PHONE_CONTACT} -->
<!-- Если экстраполе Phone_contact заполненно то показываем -->
<li><img class="uk-margin-small-right" width="27" height="27" alt="" uk-img="data-src: themes/{PHP.theme}/img/iconuserdet/smartphone.svg" uk-svg="uk-preserve" ><span class="uk-text-middle uk-margin-small-right">{USERS_DETAILS_PHONE_CONTACT_TITLE}</span><span class="uk-text-middle uk-link-text">{USERS_DETAILS_PHONE_CONTACT}</span></li>
<!-- ELSE -->
<!-- Если экстраполе Phone_contact НЕ заполненно, то показываем -->
<li><img class="uk-margin-small-right" width="27" height="27" alt="" uk-img="data-src: themes/{PHP.theme}/img/iconuserdet/smartphone.svg" uk-svg="uk-preserve"><span class="uk-text-middle uk-link-text">{USERS_DETAILS_PHONE_CONTACT_TITLE}</span>
<span class="uk-text-middle uk-text-muted">
пользователь заглухарился
</span></li>
<!-- ENDIF -->

в коде моя верстка, у Вас явно своя,

самое простое

<!-- IF {USERS_DETAILS_PHONE_CONTACT} -->
<!-- уже можно сказать как ребенку, :) Если экстраполе Phone_contact заполненно и отображение в .TPL "обёрнуто" услувием "IF-ENDIF" то показываем -->
{USERS_DETAILS_PHONE_CONTACT_TITLE}: {USERS_DETAILS_PHONE_CONTACT}
<!-- ENDIF -->

 

Воо, то что нужно. Огромное вам спасибо. А можно ещё вопрос ? Как сделать поля обязательными после регистрации пользователя ? не во время регистрации, а именно после регистрации. Может есть какой то способ ?

webitproff
#14 2022-02-08 07:01
#45545 виталик:
Как сделать поля обязательными ?

статью обновил, смотрите самый последний скриншот

аккаунт удален - не срослось с разработчиками
ушел на другой движок
виталик
#15 2022-02-08 07:07
#45546 webitproff:
#45545 виталик:
Как сделать поля обязательными ?

статью обновил, смотрите самый последний скриншот

Это я знаю. Но обязательно запрашивает уже при регистрации. А мне не нужно при регистрации, нужно после. Вообщем чтоб пользователь весь профиль запонил после регистрации, там много полей. Каким то способом заставить заполнить профиль. Есть такой вариант ?

12>>>