Скаут

Скаут

С нами с 22 мая 2017; Место в рейтинге пользователей: #361
Скаут
17 января 2018, 17:47
0
Очень бы хотел увидеть новую версию вашего компонента CET_assetsTV, т.к. последняя, взятая из вашего гитхаба сыпет ошибки в логах.
Скаут
17 января 2018, 10:18
0
думаю, можно или migx использовать. Или как вариант обычное ТВ создать, а логика скрипта катая: получил ваше значение, получил значение из тв (если оно есть) перезаписал значение тв «старое содержимое##новое_содержмсое##». Каждый раз при добавлении нового значения присоединять разделитель ## (можно что угодно использовать). При чтении ты, использовать разделитель чтобы получить отдельно значения.
Скаут
16 января 2018, 23:52
0
думаю, надо не через css, а скриптами ext js
выше пример дали как можно. можно по другому, сразу код extjs подключать. Суть в том, что в исходном коде страницы смотрите id элемента и по этом айдишнику манипулируете.
Можно подключить js файл или скрипт прямо в тело.
<?php
switch ($modx->event->name) {
	case 'OnDocFormPrerender':  
   		 $modx->regClientStartupScript(MODX_ASSETS_URL . js/script.js');
	break;
}
Путь assets/js/script.js

Там делаем что хотим.
Например (минишопа нет, пример с обычными вкладками):
Ext.onReady(function() {
MODx.addTab("modx-resource-tabs",{title:"Описание",id:"modx-resource-desc"});
MODx.moveTV(["tv16"],"modx-resource-desc");
});
В данном примере добавляем вкладку «Описание» и перемещаем туда tv с id 16.

Тоже самое можно без подключения отдельного файла.
<?php
switch ($modx->event->name) {
	case 'OnDocFormPrerender':  
   		 $modx->controller->addHTML('
			<script type="text/javascript">
				Ext.onReady(function() {
					MODx.addTab("modx-resource-tabs",{title:"Описание",id:"modx-resource-desc"});
					MODx.moveTV(["tv16"],"modx-resource-desc");
				});
			</script>
		');
	break;
}
Скаут
16 января 2018, 23:36
0
думаю, надо не через css, а скриптами ext js
Скаут
14 января 2018, 16:16
0
не знаю, что за фигня, но \n, $n или ${n} никак не удалось завести. Зато тупо br сработал.
сделал так
{$title|ereplace:'/^([^\s]*)\s/':"$1br"}
br с кавычками, тут редактор тег применяет…

Проверьте, пожалуйста, ошибок нет? Работать работает.
Скаут
14 января 2018, 13:28
0
ах вот оно, я то думал, он автоматически присваивает название модуля.
[[+FileAttach:notempty=`<div>[[+FileAttach]]</div>`]]
Спасибо.
Скаут
10 января 2018, 21:39
+1
отлично, спасибо, вообще сегодня сделал так:
{var $tv_staffjob = $_pls['tv.staffjob']}
{var $val1 = 'выезд на дом для мед. процедур'}
{var $val2 = 'приходящая на несколько часов'}
{var $val3 = 'проживание только с больным'}
{var $val4 = 'проживание с больным и родственниками'}
А потом в месте вывода так:
{if $tv_staffjob == '21'}{$val1}{elseif $tv_staffjob == '22'}{$val2}{elseif $tv_staffjob == '23'}{$val3}{elseif $tv_staffjob == '24'}{$val4}{/if}
Но тоже слишком много символов.

Со switch вот так вышло:
{switch $_modx->resource.TVname}
    {case '21'}
        {var $tvname = 'вариант 1'}
    {case '22'}
        {var $tvname = 'вариант 2'}
    {case '23'}
        {var $tvname = 'вариант 3'}
    {case '24'}
        {var $tvname = 'вариант 4'}
{/switch}
И в месте вывода:
{$tvname}
Хотя со сниппетом вышло бы лучше в плане, в одном месте хранится, а выводить можно в разных чанках и шаблонах чисто переменную.
Скаут
29 июля 2017, 18:33
0
огромнейшее спасибо! я уже больше часа варианты перебираю…
ещё момент можно как-то подправить, сейчас регулярка проверяет наличие плюса, количество цифр, можно ли, чтобы она проверяла жёстко +7? потому как сейчас после плюса может быть любая цифра и валидация будет удачной, если количество равно указанному.
Скаут
29 июля 2017, 17:16
1
0
Всё оказалось проще, даже данный плагин не нужен.
В поле можно задать регулярное выражение и оно будет контролировать всё это дело, введёт не так — система напишет, попробует сохранить — получит ошибку.

Можете помочь с написанием регулярки
+79999999999
вот такой формат нужен, без каких-либо других вариантов.

смог вот так
[+7]\[0-9]{10}
, но такой вариант не следит за количеством, т.е. минимальную длину контролирует, но макс нет, т.е. спокойно пропускает +79999999999999999999
Скаут
29 июля 2017, 12:55
0
а как можно добавить свои js на страницу создания / редактирования ресурсов?

кстати, в доп полях (вариант произвольный текст) есть возможность регулярки использовать, может так ещё можно?
Скаут
11 июля 2017, 13:04
0
Спасибо, уже успел затестить )
Скаут
11 июля 2017, 12:15
0
Я правильно понял, т.е. достаточно вызвать сниппет [[! так, а у самой страницы оставить галочку на кэше и карта сама будет обновляться после 10 минут?
Скаут
10 июля 2017, 22:57
0
так и делаю, более того, даже у страницы, в которой вызывается данный сниппет, снята галочка с пункта кэширования
Скаут
05 июля 2017, 13:55
0
У меня сейчас как раз и сделано через «самый простой вариант», но хочется всё на ajax завязать
Скаут
04 июля 2017, 21:23
0
Да, видел, так и думал, проблема именно в том, не знаю как технически сделать.

Ваш вариант попробовал: контент вообще не подтягивается. Окно остаётся пустым, да и ajaxform не перевызывается.

Ещё вопрос: как именно вызвать форму в теле документа? чанк указывать или форму из чанка вставлять? или может есть вариант без документа напрямую сниппет ajaxform вызвать в окно?
Скаут
04 июля 2017, 19:00
0
спасибо, исправил, но как бы ситуация в целом никак не поменялась
Скаут
04 июля 2017, 01:45
0
ну я попробовал вот по примеру тут modx.pro/help/7395/#comment-52220
ЗАГРУЗИТЬ форму удалось, т.е. контент я выводить могу, а вот форма сама не работает. Не знаю как её заставить отрабатывать.
есть дополнение QuickView, но не хочу его использовать, слишком много лишнего функционала, ради одного окна.
Скаут
29 июня 2017, 21:49
0
оказывается параметр isNumber может помочь для валидации поля с номером.
там есть ещё параметр regexp, кажется в него можно занести ваш фильтр "/^\+7 \(\d{3}\) \d{3}-\d{2}-\d{2}$/g"
но не пробовал.
От спама как бы рекаптча стоит, а для людей уже jquery плагин, о котором писали ниже. Он на IE<10 не работает правда, но там уже пусть хоть в каком-нибудь формате уже телефон укажут, раз до сих пор на IE9 )))