Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #5
15 ноября 2015, 15:50
+1
Делается элементарно фильтрами.
[[*tv:notempty=`<li>[[*tv3]]<li>`]]
15 ноября 2015, 09:18
0
А на гитхаб не планируете выложить.
15 ноября 2015, 08:51
+2
В сниппетах надо использовать return.
Можно в одном сниппете вывести. Кроме того странно использовать посимвольную замену strtr(). Я бы сделал так
<?php
$translate = array(
    "Monday" => "Понедельник",
    "Tuesday" => "Вторник",
    "Wednesday" => "Среда",
    "Thursday" => "Четверг",
    "Friday" => "Пятница",
    "Saturday" => "Суббота",
    "Sunday" => "Воскресенье",
    "January" => "Января",
    "February" => "Февраля",
    "March" => "Марта",
    "April" => "Апреля",
    "May" => "Мая",
    "June" => "Июня",
    "July" => "Июля",
    "August" => "Августа",
    "September" => "Сентября",
    "October" => "Октября",
    "November" => "Ноября",
    "December" => "Декабря"
);
$format = "j F Y, l";
// Вариант 1.
$output[] = str_replace(array_keys($translate), array_values($translate), date($format));
$output[] = str_replace(array_keys($translate), array_values($translate), date($format, time() + 864000));
$output[] = str_replace(array_keys($translate), array_values($translate), date($format, time() + 1728000));
return implode("<br />",$output);

// Вариант 2. Можно в div обернуть
$output = '<div>'.str_replace(array_keys($translate), array_values($translate), date($format)).'</div>';
$output .= '<div>'.str_replace(array_keys($translate), array_values($translate), date($format, time() + 864000)).'</div>';
$output .= '<div>'.str_replace(array_keys($translate), array_values($translate), date($format, time() + 1728000)).'</div>';
return $output;
14 ноября 2015, 10:43
+1
Еще одна крошечная ремарка. Последняя :)
Вспомним Турцию и Египет 10 лет назад. Общаться с персоналом можно было только на английском. А сейчас? Уже не нужно всяких «ту ти ту ту». Можно просто сказать «2 чая в 22-й номер». :)
14 ноября 2015, 10:11
+1
Маленькая ремарка для товарищей-минусовщиков. Вы поймите, наш спор с Иваном не о том, что многие говорят на английском. Спор о том, что он якобы признан во всем мире международным на государственном уровне и мы должны этому подчинится (Иван уже написал, что имел ввиду не соглашения). Лавров с Оландом разговаривают на французском. Меркель знает русский, с Путиным общаются на немецком. Да, английский является распространённым, тут спора нет. И в России тоже. Достаточно вспомнить 90-ые годы. Занавес упал, к нам повалило много всего — кино, техника, программы, и все на английском. Мы были вынуждены его изучать. И в этом не было и нет ничего плохого. Но сейчас уже многое изменилось. Инструкции на русском, программы тоже локализованы. А информационные технологии сейчас на таком уровне, что есть уже автоматические переводчики. Т.е. поговорить с испанцем можно достаточно легко. А скоро будет еще проще. Это я к чему. Давайте не будем сами себя унижать и делать то, чего от нас не требуют. Правильно Василий сказал, наши великие классики писали на русском, а остальной мир не требовал от них перевода, сами перевели. Поэтому нам надо предлагать миру достойные вещи!
П.С. Иван — большой авторитет в MODX сообществе! Но в этом вопросе я с ним сильно не согласен, особенно после аргументов про 2 миллиарда англоязычных модыксеров и про всех китайских торговцев, ведущих дела с остальным миром только на английском. Ясное дело, белорусскому программисту это виднее. :)
П.П.С. Какая-то не маленькая ремарка получилась. :)
14 ноября 2015, 08:20
+1
А если условие не выполняется, то пользователь перенаправляется на страницу для неавторизованных пользователей, указанную в системных настройках
$modx->sendUnauthorizedPage();
14 ноября 2015, 07:58
0
Попробуй мнемоники
&#91; и &#93;
13 ноября 2015, 20:31
+2
Простейший плагин на событие OnLoadWebDocument. Проверка пользователя на присутствие в группе для указанной разницы между текущей датой и датой публикации publushedon. Если разница 1 день, то проверка на присутствие в группе подписчиков ($modx->user->isMember('Группа подписчиков'). И т.д.
13 ноября 2015, 19:02
0
В Германии, Австрии, Швейцарии, Венгрии…
Иван, не о том спор идет. Я тебе говорю, что государства не признавали английским международным. Есть конечно, единицы государств с английским языком и долларами. Но это несуверенные государства. Это следствие доминирования англосаксов. Помнишь историю, какой язык учили в царской России дипломаты и придворные? Французский. Сейчас да, в основном английский. Но не надолго. Я тебя уверяю. А пока и я развиваю английский. Но считать, что он признан во всем мире, это как минимум несерьезно.
Про Юрьева звучит как про Пастернака — не читал, но осуждаю. Послушай хотя бы одну передачу ГлавРадиоОнлайн.
Ладно, давай закончим тут флудить.
13 ноября 2015, 18:37
0
Правильно, я и написал про доминирование. Я когда не задумывался на эту тему, тоже так думал. А послушав людей, которые в теме, вижу все немного по другому. Например, все пространство бывшего соц. лагеря спокойно разговаривают на русском, потому что были школы.
Почти все торговцы в китае ведут дела с остальным миром на английском.
В том то и дело что уже не все. И тенденция заметно меняется. Это со слов авторитетного Михаила Юрьева, который в том числе и в Китае бизнес ведет.
А в Европе тебя и с немецким поймут.
13 ноября 2015, 18:19
0
Но пару миллиардов человек не станут учить русский
Нифига себе уже сколько пользователей MODX набралось. И все приедут на MODExpo? ;)
когда международным языком признан английский. Примите это как данность. Спорить на эту тему смысла нет.
Конечно нет. Вот это как раз тот миф, который кочует на бытовом уровне у домохозяек. Кем признан? Есть хоть одно межгосударственное соглашение на этот счет? Например, по долларам есть. А этот миф выгоден в первую очередь англосаксам для поддержания призрачного доминирования, которое было во времена колоний. На эту тему уже достаточно много говорили. Например, Китай тоже с тобой не согласится. И Германия не признает это. Просто потому, что тут и признавать то нечего. Нет никаких соглашений. Не хочу спорить. Охота думать, что кем-то английский признан международным, думай. У нас в отличие от Украины это можно. :)
13 ноября 2015, 14:15
+2
Зачем? Просто добавлю вышеописанный функционал и отправлю пулреквест автору FileAttach. Хорошее дополнение, зачем изобретать велосипед.
13 ноября 2015, 13:27
0
Посмотрел FileAttach. Неплохое решение. Но есть недоработки, как мне кажется. В ссылке на файл указан id файла в базе.
http://site/assets/components/fileattach/connector.php?action=web/download&ctx=web&id=4
Соответственно, берем ссылку на любой открытый файл, перебираем id и получаем все файлы и открытые и закрытые. Все-таки нужно вместо id использовать hash.
Тут напрашивается функционал вывода закрытых файлов только для пользователей указанных групп, или просто авторизованных. В общем, сделаю форк FileAttach и доработаю для себя.
13 ноября 2015, 12:50
+6
Не перспективно. Практически все изменения подробно описываются авторами в сообществе, за исключением багфиксов разных и прочей мелочи.
Особенно когда changelog на английском (а он должен на нем быть).
Это точка зрения Ивана. У меня другая. Да, для пакетов в modx.com это требование понятно. Но зачем для русскоязычного сообщества требовать ченджлог на английском. Мы что подданные Англо-Америки? Или у нас комплекс неполноценности. В этом я поддерживаю позицию Михаила Юрьева из ГлавРадиоОнлайн и согласен с Василием, нужно будет буржуям, переведут через Гугл.
13 ноября 2015, 11:47
1
+4
А вот как пользователя добавить в группу «Покупатель товара N» — уже не знаю
Есть 2 часа времени? Поехали
$modx->user->joinGroup('Покупатель товара N')
Всё. Поезд дальше не идет. Просьба освободить вагоны. :)
П.С. Когда сделаю, выложу. Мне не жалко.
13 ноября 2015, 11:40
+8
Конечно, было бы удобно.
13 ноября 2015, 10:30
0
Вот варианты
Кто-то хранит секретную ссылку в ТВ параметре,
кто-то как свойство товара,
кто-то открывает для просмотра страницу
или добавляет юзера в группу после оплаты.
Со всем этим справится сниппет в несколько строчек.
П.С. Согласен с Василием, дольше пакет оформлять будешь.
13 ноября 2015, 10:09
0
Так Василий уже все описал и подсказал. Чего тут делать-то?
13 ноября 2015, 09:39
0
Память уже не та :)
13 ноября 2015, 09:35
0
А что же вы хотите, милый друг, если у вас стоит условие
checked: parseInt(config.record.availability)
А когда вы создаете новый товар у вас нет record. Поэтому checked = 0. Попробуйте так
checked: parseInt(config.record.availability || 1)