Forums / National / Russian / The Release v0.9.22

Обсуждение релиза Cotonti Siena v0.9.22

Kabak
#46268 2023-03-30 05:31
#46249 Dayver:
#46224 Kabak:

Это жёсткая привязка к имени экстраполя в TPL.   а я говорю об автоматическом сканировании модулем USERS созданных в движке экстраполей для обязательного заполнения пользователем при регистрации. 

Например, делаю сайт для дачников и нужно обязательное для заполнения при регистрации экстрополе НОМЕР ДОМА   я его создаю в экстраполях движка и не должен париться с TPL модуля USERS  этот модуль должен сам вписывать такие обязательные для заполнения поля во все свои формы

Допустим есть дефолтный шаблон users.register.tpl ... допустим вы захотели создать таблице пользователей екстраполе(я) .... создали, далее два пути - либо кастомно вставляете для каждого поля свою пару {USERS_REGISTER_имяПоля} и {USERS_REGISTER_имяПоля_TITLE}. Либо идёте вторым путём - вставляете в шаблон секцию EXTRAFLD и только два тега {USERS_REGISTER_EXTRAFLD} и {USERS_REGISTER_EXTRAFLD_TITLE} типа вот так:

...
<tr>
						<td>{PHP.L.Password}:</td>
						<td>{USERS_REGISTER_PASSWORD} *</td>
					</tr>
					<tr>
						<td>{PHP.L.users_confirmpass}:</td>
						<td>{USERS_REGISTER_PASSWORDREPEAT} *</td>
					</tr>
<!-- BEGIN: EXTRAFLD -->
					<tr>
						<td>{USERS_REGISTER_EXTRAFLD_TITLE}:</td>
						<td>{USERS_REGISTER_EXTRAFLD}</td>
					</tr>
<!-- END: EXTRAFLD -->
...

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

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

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

<!-- BEGIN: EXTRAFLD -->
					<!-- IF {PHP.exfld.field_required} -->
                    <tr>
                        <td>{USERS_REGISTER_EXTRAFLD_TITLE}:</td>
                        <td>{USERS_REGISTER_EXTRAFLD}</td>
                    </tr>
					<!-- ENDIF -->
<!-- END: EXTRAFLD -->

 

А можно в TPL проверять экстрополя на обязательность через IF  и вставлять все которые помечены как обязательные для заполнения ?  т.е.  где-то создавать общий тег для таких полей в виде таблицы

<tr>
<td>{USERS_REGISTER_EXTRAFLD_TITLE}:</td>
<td>{USERS_REGISTER_EXTRAFLD}</td>
</tr>

 

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

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

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

#46246 Alex300:
#46198 webitproff:

хм... странно. surprise

дисковый кеш вычищен, в структуре синхронизацию делал, "Оставить ссылку в старом разделе " чекбокс не ставил

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

соответственно и подсчет количества тем и сообщений в них здесь не корректный

Исправлено этим коммитом

Прошу потестировать. Нужно скачать обновленную версию модуля форумов с мастер ветки, заменить ей то что установлена и обновить в админке. Далее можно в структуре "Синхронизировать все". Должно пересчитать. Надесь что в правках ничего не упустил. Их много.

Об ошибках лучше писать в issue на гитхабе #1689, чтобы не потерялись и заново открыть сам Issue.

 

при переносе темы получил

Fatal error

2023-03-30 05:42

SQL error 22001: String data, right truncated: 1406 Data too long for column 'log_group' at row 1

#0 /var/www/dacha/system/database.php(614): cot_diefatal('...')
#1 /var/www/dacha/system/functions.php(3368): CotDB->insert('...', Array)
#2 /var/www/dacha/modules/forums/inc/forums.topics.php(127): cot_log('...', '...', '...', '...')
#3 /var/www/dacha/modules/forums/forums.php(35): include('...')
#4 /var/www/dacha/index.php(180): require_once('...')

тема переехала, но с этой ошибкой на экране

This post was edited by Kabak (2023-03-30 05:46, 1 year ago)