Всего 122 914 комментариев

Григорий Коленько
05 октября 2015, 11:57
0
Нет, я имел ввиду это инфа 100%? Я был уверен, что если указывается статичный файл для чанка, то он хранится только ФС
r5uY40
05 октября 2015, 10:42
0
Спасибо. Написал в Скайп.
Сергей Шлоков
05 октября 2015, 10:30
+3
Провел небольшой тест на своем сайте (на локалке). Ресурсов меньше 100. Тренировался только на чанках. Время вызова сниппета pdoMenu в чанке [[$main_menu]] отличается на 0.02 сек. Поэтому я его учитывать не стал.
Вот шаблон страницы. Чанки простые, без фильтров и премудростей.
<!DOCTYPE html>
<html lang="ru">
<head>
    [[$head]]
</head>    
<body>
    // Шапка страницы
    [[$header]]
    // Меню. В нем вызывается pdoMenu
    [[$main_menu]]
    // Галерея
    [[$gallery]]
    // Содержание ресурса 
    [[*content]]
    // Подвал страницы
    [[$footer]]
    </div> 
</body>
</html>
Вызов в различных комбинациях. 5 раз для каждого метода. Показаны средние значения.
--------------------------------------------------------------
ВЫЗОВ КЭШИРУЕМЫХ ЧАНКОВ
--------------------------------------------------------------
// Чанки MODX из базы
               Первый запуск            Второй (из кэша)
Время:             0.74           |          0.21
Запросы:            63            |          10
// Чанки с диска
               Первый запуск            Второй (из кэша)
Время:             0.66           |          0.21
Запросы:            58            |          10

--------------------------------------------------------------
ВЫЗОВ НЕКЭШИРУЕМЫХ ЧАНКОВ
--------------------------------------------------------------
// Чанки MODX из базы
               Первый запуск                Второй 
Время:             0.74           |          0.32
Запросы:            63            |          12
// Чанки с диска
               Первый запуск                Второй
Время:             0.66           |          0.27
Запросы:            58            |          12

--------------------------------------------------------------
ВЫЗОВ НЕКЭШИРУЕМЫХ СТАТИЧЕСКИХ ЧАНКОВ
--------------------------------------------------------------
// Статические чанки MODX
               Первый запуск                Второй 
Время:             0.77           |          0.32
Запросы:            65            |          12
// Чанки с диска
               Первый запуск                Второй 
Время:             0.66           |          0.27
Запросы:            58            |          12
Видно, что запросов в базу стало меньше. Но выигрыш небольшой. По крайней мере, на небольших сайтах. При кэшировании разницы вообще нет. Может быть на больших сайтах с вызовом некэшируемых элементов эта разница будет заметнее. Но мне проверить негде.
Вывод. На небольших сайтах результаты в районе погрешности. Преимуществ нет.
Вот такое получилось исследование.

П.С. Оставлю себе для разработки, чтобы не морочится со статическими элементами — каждому нужно прописывать пути в отличие от данного приема. Для простоты поменял логику парсера. Теперь он проверяет, есть ли такой чанк на диске, если есть — грузит, нет — берет из базы. Без всяких подчеркиваний.
Александр
05 октября 2015, 10:14
0
оу, спасибо, буду знать.
Василий Наумкин
05 октября 2015, 10:06
0
Всё возможно, только нужно указать им разный &pageVarKey.
Максим
05 октября 2015, 10:00
+1
Так не пойдет:
<title>
[[*meta_title]] | [[pdoTitle? &tplPages=`@INLINE [[+page]] [[%pdopage_from]] [[+pageCount]]`]] 
</title>
Виталий Зиборов
05 октября 2015, 09:47
0
Спасибо, помогло. У меня как раз Бегет)))
Сергей Шлоков
05 октября 2015, 09:36
0
Это у разработчиков MODX надо спрашивать.
Alexander V
05 октября 2015, 03:50
0
Под вечер озадачился Fenom вкурить, пока туплю, извини)
Василий Наумкин
05 октября 2015, 03:47
0
Правильно.

Страница, на которой указан неверный параметр для сниппета, не перестаёт существовать.
Alexander V
05 октября 2015, 03:43
0
Правильно ли я понимаю, что при несуществующем параметре, например user.id я не получу 404?
Василий Наумкин
05 октября 2015, 03:40
1
+1
Подумать совсем лень?
[[!pdoPage?
	&parents=`0`
	&sortby=`[[!#get.sort:default=`id`]]`
	&sortdir=`[[!#get.dir:default=`asc`]]`
	&showLog=`1`
]]
Alexander V
05 октября 2015, 03:35
0
В примере по GET (Fenom) проверяется условие. А как передать параметр, который можно поместить например в pdoPage в аргумент сортировки?
Василий Наумкин
05 октября 2015, 03:30
0
Активационную ссылку просто так не создать. Для этого нужно как бы сбросить пароль заново, сохранить его еще на 3 часа и отправить уже ссылку, по которой он будет активирован.

Компонент Office делает так из коробки. Если пытается войти неактивированный юзер — он получает новое письмо со ссылкой на активацию.
Alexander V
05 октября 2015, 02:06
0
Разве умеет?
Воеводский Михаил
05 октября 2015, 01:56
+1
Если будет транспортник, зачем заставлять пользователя создавать ТВ? Их можно тоже создать при установке и связать с созданными шаблонами.
Сuriosity
05 октября 2015, 01:56
0
Конечно же, я читал эту скудную документацию по Login…

То что Вы мне ответили, как я понимаю, это не то.

Сниппет «ConfirmRegister» – это обработчик. Когда пользователь кликает по активационной ссылке, то он приходит на страницу, где стоит этот ConfirmRegister. После чего ConfirmRegister решает правильная это активационная ссылка или нет. Если правильная, то сниппет активирует аккаунт пользователя.

Вот смотрите:
1) Страница регистрации

[[!Register?
    &submitVar=`registerbtn`
    &activationEmailTpl=`lgnActivateEmailTpl`
    &activationEmailSubject=`Спасибо за регистрацию!`
    &usergroups=`users`
    &submittedResourceId=`6`
    &activationResourceId=`7`
	&validate=`nospam:blank,
	username:required:minLength=^3^:maxLength=^20^,
	fullname:required:minLength=^1^:maxLength=^30^,
	email:required:email,
	password:required:minLength=^8^:maxLength=^30^,
	password_confirm:password_confirm=^password^`
	&placeholderPrefix=`reg.`
]]


<form action="[[~[[*id]]]]" method="post">
	<input type="hidden" name="nospam" value="[[!+reg.nospam]]">
	<input type="text" name="username" id="username" value="[[!+reg.username]]">
	<input type="text" name="fullname" id="fullname" value="[[!+reg.fullname]]">
	<input type="text" name="email" id="email" placeholder="yourmail@site.com" value="[[!+reg.email]]">
	<input type="password" name="password" id="password" placeholder="Пароль" value="[[!+reg.password]]">
	<input type="password" name="password_confirm" id="password_confirm" placeholder="Повторить пароль" value="[[!+reg.password_confirm]]">
	<input type="submit" name="registerbtn" value="Зарегестрироваться">
</form>
Где:

&activationEmailTpl — шаблон с письмом, которое отправится после удачной отправки формы регистрации. Именно в этом письме и будет активационная ссылка.
&submittedResourceId — страница, на которую перенаправит после удачной отправки формы регистрации. Здесь пишем что-то типа: На ваш email отправлено письмо ссылкой…
&activationResourceId — а вот, собственно, страница, на которой находится сниппет «ConfirmRegister». Именно на эту страницу перенаправит та самая ссылка, которую будущий пользователь кликнет в своем письме.

2) Страница 7 содержит:

[[!ConfirmRegister?
	&redirectTo=`11`
	&errorPage=`2`
]]
Где:
&redirectTo — страница, на которую перенаправит сниппет ConfirmRegister. И перенаправит туда только в том случае, если сниппет ConfirmRegister одобрил активационную ссылку.
&errorPage — здесь указан ID страницы, кторая является 404. Тоесть, для тех, кто зашел на активационную страницу(7) не по активационной ссылке, а напрямую — увидят 404 ошибку.

Так вот, меня же интересует:
Как реализовать страницу «Повторный запрос на отправку письма активации аккаунта» с формой, где пользователь может ввести свой email и нажав на кнопку «Отправить запрос», получит свою долгожданную ссылку на активацию? Желательно, чтоб можно было делать такой запрос на конкретный email раз в 3 часа.
Если совсем коротко, то: Как создать активационную ссылку?..
Но, все же, хотелось бы узнать как реализовать форму с двух инпутов (логин и кнопка), которая будет отправлять на указанный email (если он существует в базе) письмо с активационной ссылкой, но не более одного раза в 3 часа.
SaLacoste
04 октября 2015, 23:42
0
можно вставлять стандартный комментарий в тело чанка письма?
Какая переменная будет у комментария для чанка?