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

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
можно вставлять стандартный комментарий в тело чанка письма?
Какая переменная будет у комментария для чанка?
SaLacoste
04 октября 2015, 23:32
0
Как костыль, можно увеличить время ттл
activationttl	Number of minutes until the activation email expires. Defaults to 3 hours.
Так же посмотрите
rtfm.modx.com/extras/revo/login/login.confirmregister
SaLacoste
04 октября 2015, 23:23
0
А, вот какой метод нужен, спасибо, буду пробовать.

и касательно холи варов в топике про pdotitle основном, про rel=«next; prev», вполне компетентный сеошник сказал, что на всех страницах пагинации нужно делать meta name=«robots» content=«noindex, follow», чтобы товары на страницах пагинации индексировались, а сами страницы в индекс не попадали.
Іван Клімчук
04 октября 2015, 23:12
0
Боюсь, в таком случае нужно править сниппет pdoTitle в той строке, что вы выше писали. Так как в коде он получает только поле ресурса методом get(), а чтобы получить TV, нужно добавить метод getTVValue().
Никита Андреевич
04 октября 2015, 23:02
0
поддерживает плагин работу не через GET — запрос а через POST?
SaLacoste
04 октября 2015, 23:02
0
Не совсем то, что я хочу сделать.
нужно чтобы pdoTitle использовал в работе tv.meta_title в поле titleField, чтобы он строил для пагинации заголовки вида
*meta_title — страница 1… страница n
Максим Кузнецов
04 октября 2015, 23:00
0
Речь, само собой, шла о вызове параметров желаемого ресурса внутри сниппета методами api.
Іван Клімчук
04 октября 2015, 22:59
0
В вашем случае логика будет такой:
[[*meta_title:default=`[[!pdoTitle?limit=`1`&registerJs=`1`&titleField=`pagetitle`]]`]]
meta_title — это TV. Если значение для страницы задано, используется оно. Если нет, вступает в игру генератор pdoTitle, который уже генерирует по вашему шаблону нужную строку. Как поменять [[%something]] вам уже ответили, это лексиконы.
Іван Клімчук
04 октября 2015, 22:56
0
Все TV-поля всегда подтягиваются к ресурсу в момент загрузки именно этого ресурса. Именно поэтому нет разницы между *pagetitle и *tv_name_value. В случае выборки коллекции ресурсов, там да, tv не подтягиваются автоматом.
Klike
04 октября 2015, 21:58
0
Как вариант, использовать CustomUrls.
Klike
04 октября 2015, 21:53
0
Доброго времени суток!
С недавнего времени перестало авторизовывать из 1с (проверьте логин/пароль).
Проверка путем
http://site.ru/assets/components/msklad/1c_exchange.php?http_auth=htauth:YWRtaW46YWRtaW4=&type=catalog&mode=checkauth
Проходит хорошо – в окне браузера выдает SUCCESS…

Если на другом домене – всё отлично, Соединение с сайтом установлено.

Если в строке Адрес сайта в (Узлах 1С) вставить строчку с логином/паролем в Base64 (как ссылка выше),
то Сведение установлено.

В чём может быть загвоздка?)
Максим Кузнецов
04 октября 2015, 21:11
+1
К слову, если вариант с [[*meta_title]] все же не подойдет, то в вашем примере нужно будет как минимум подключить тв поле через параметр &includeTVs и уже тогда попробовать вариант с &titleField=`meta_title` или с &titleField=`tv.meta_title`.
Максим Кузнецов
04 октября 2015, 21:08
0
Предположение.

longtitle — дефолтное поле любого ресурса, поэтому оно «получается» в коде вкупе с получением запроса о самом ресурсе.

Тв-полей же может быть бесконечное множество и, так как они хранятся в отдельной таблице, по умолчанию они не подцепляются к ресурсу (чтобы не плодить лишних запросов). Не говоря уже о том, что в вашем варианте сниппет не может знать, откуда ему взять это значение — из тв или из встроенных полей ресурса (к примеру, вы можете создать тв-поле pagetitle).
SaLacoste
04 октября 2015, 21:05
0
Это предположение или Вы использовали tv в вызове pdoTitle?
Потому что у меня при вызове
[[!pdoTitle?limit=`1`&registerJs=`1`&titleField=`meta_title`]] < — в скобка и без пробовал.
Выдает тайтл «Array».
посмотрел в сниппет, скорей нужно писать именно без скобок, так как относительно использования по умолчанию там фигурирует такой код
if (empty($titleField)) {$titleField = 'longtitle';}
Максим Кузнецов
04 октября 2015, 20:55
1
0
&titleField=`[[*meta_title]]`
SaLacoste
04 октября 2015, 20:53
0
%pdopage_page — определены в лексиконе?

Посмотрев стандартный вывод, я понял что такой вариант выдаст мне «Текущая страница: стр 1, всего страниц: 2.

Я не могу решить вопрос использование кастомного tv параметра *meta_title в pdoTitle.
Павел Гвоздь
04 октября 2015, 20:51
0
Что-т я не заметил, кликнул на картинку вместо ссылки. Там где битая картинка должна быть ссылка:
… в /core/components/videogallery/processors/mgr/gallery/handle.class.php — процессор...