Andrey
С нами с 08 августа 2016; Место в рейтинге пользователей: #213Виртуальные вкладки для страницы пользователя!
Приветствую сообщество!
Вопрос собственно в следующем!
Как бы мне сделать вкладки как на здесь на modx.pro для одного юзера! (заметки, комменты, избранное)
П.С.
Говорить о том, что «надо сначала воспользоваться поиском» не надо, пишу это как раз потому, что воспользовался!
Понимаю есть ааахренеть сколько мануалов и примеров, например здесь:
Сама страница пользователя у меня тем не менее есть и организована так:
Прошу помощи! Но так, чтобы не пришлось менять вид чанков и политики вызова данных пользователя на фронт! Заранее спасибо за любою помощь!
Вопрос собственно в следующем!
Как бы мне сделать вкладки как на здесь на modx.pro для одного юзера! (заметки, комменты, избранное)
П.С.
Говорить о том, что «надо сначала воспользоваться поиском» не надо, пишу это как раз потому, что воспользовался!
Понимаю есть ааахренеть сколько мануалов и примеров, например здесь:
https://modx.pro/howto/7909-page-users-on-modxpro/
но тем не менее пример у меня не работает, даже не хочет работать элементарно страница пользователя!Сама страница пользователя у меня тем не менее есть и организована так:
<?php
// обрабатываем только события OnPageNotFound, на случай, если отметили галкой и другие в настройках плагина
if ($modx->event->name != 'OnPageNotFound') {
return false;
}
// на случай, если у нас настройки кто-то менял, получаем значение переменной, через которую передаются ссылки в modx от веб-сервера
$alias = $modx->context->getOption('request_param_alias', 'q');
// проверяем, что такая переменная есть, иначе и обрабатывать нечего
if (!isset($_REQUEST[$alias])) {
return false;
}
// наш запрос, который нужно разобрать и обработать
$request = $_REQUEST[$alias];
// разбиваем ссылку на составляющие,
// как правило, будет что-то вроде users/username, на выходе будет массив с этими значениями
$chunks = explode('/', $request);
// на всякий случай проверяем, что у нас есть корневой ресурс для пользователей, страница users
if (!$users = $modx->getObject('modResource', ['id' => 571])) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Entry point resource for users not found.');
return false;
}
// а теперь обрабатываем нам запрос.
switch ($chunks[0]) {
// сверяем первую часть ссылки с алиасом нашего ресурса для пользователей, должны совпадать
case $users->get('alias'):
// еще одна проверка существования ресурса (наверное можно удалить, взял пример из реального проекта)
if (!$usersSection = $modx->findResource($chunks[0])) {
return false;
}
// у меня ссылки генерились с html, поэтому я вырезаю расширение перед поиском самого юзера
$userAlias = str_replace('.html', '', $chunks[1]);
// еще одна проверка + убираем концевые слеши и редиректим на нормальную ссылку
if ($chunks[1] != $userAlias || (isset($chunks[2]) && $chunks[2] == '')) {
$modx->sendRedirect($chunks[0] . '/' . $userAlias);
}
// пробуем найти пользователя по username из запроса, если не нашли, то посылаем 404 заголовок
// тут важно вручную послать страницу 404, иначе, если вернем просто ошибку, то у нас опять запустится обработчик
// 404 ошибки, опять запустится наш плагин, опять тут будет ошибка и привет бесконечный круг и ААААА! Ничего не работает!!!!!
if (!$user = $modx->getObject('modUser', ['id' => $userAlias])) {
$modx->sendForward($this->getOption('error_page'), $this->getOption('error_page_header', null, 'HTTP/1.0 404 Not Found'));
}
// пользоввателя нашли, теперь подгружаем его данные (профайл, расширенные поля и тд)
/** @var modUserProfile $profile */
$profile = $user->getOne('Profile');
$extended = $profile->get('extended');
// прописываем все наши данные в плейсхолдеры, чтобы потом на странице их вывести
$modx->setPlaceholders($user, 'user.');
$modx->setPlaceholders($profile, 'user.');
$modx->setPlaceholders($extended, 'user.');
// тут у меня еще момент, что пользователь может указать, что у него профиль приватный и его никому показывать нельзя,
// поэтому в таком случае тоже 404 возвращаем. Но можно удалить
// profile private, we should return not found error
// if (isset($extended['private']) && $extended['private'] == 1) {
// $modx->sendForward($this->getOption('error_page'), $this->getOption('error_page_header', null, 'HTTP/1.0 404 Not Found'));
// }
// ну и отправляем нашу страницу с шаблоном профиля пользователя, где уже выводим всю его подноготную
$modx->sendForward($usersSection);
break;
}
Сделана по этому примеру:https://modx.pro/help/9820/
Прошу помощи! Но так, чтобы не пришлось менять вид чанков и политики вызова данных пользователя на фронт! Заранее спасибо за любою помощь!
Убрать ресайзер у videoGallery
Приветствую сообщество!
Нужна помощь. И собственно вопрос уже в заголовке.
Требуется убрать ресайзер (или поправить размеры и качество превью), который обрезает качество и разрешение картинки при заливании ролика на сайт.
Не шарю в php и не очень хорошо ориентируюсь в js чтобы прочухать код компонента, но беглым взглядом ничего похожего не нашел. (заливаю через фронт, через форму Тикета)
Боюсь чего натворить. Подскажите пожалуйста как исправить ситуацию!
Нужна помощь. И собственно вопрос уже в заголовке.
Требуется убрать ресайзер (или поправить размеры и качество превью), который обрезает качество и разрешение картинки при заливании ролика на сайт.
Не шарю в php и не очень хорошо ориентируюсь в js чтобы прочухать код компонента, но беглым взглядом ничего похожего не нашел. (заливаю через фронт, через форму Тикета)
Боюсь чего натворить. Подскажите пожалуйста как исправить ситуацию!
Вызов нескольких pdoPage на странице
Приветствую сообщество!
В общем проблема следующего характера:
1. Есть список пользователей в форме таблицы с ссылками на страницу-паспорт каждого пользователя!
2. Есть страница-паспорт, сделанная с помощью плагина (Виртуальная страница пользователя)
3. На каждой такой странице идет вызов 4 pdoPage объектов, каждый отвечает за отображение того или иного блока активности пользователя!
В общем проблема следующего характера:
1. Есть список пользователей в форме таблицы с ссылками на страницу-паспорт каждого пользователя!
2. Есть страница-паспорт, сделанная с помощью плагина (Виртуальная страница пользователя)
3. На каждой такой странице идет вызов 4 pdoPage объектов, каждый отвечает за отображение того или иного блока активности пользователя!
Ошибка php AjaxForm!
Приветствую сообщество!
В общем дело такое, пользуюсь AjaxForm для модуля «Обратная связь» и вот раньше такой ошибки не было, а теперь появилась:
Может кто подскажет чего и куда копать!
Заранее спасибо!
В общем дело такое, пользуюсь AjaxForm для модуля «Обратная связь» и вот раньше такой ошибки не было, а теперь появилась:
Notice: Undefined variable: hook in /home/s/stark44/starknet/public_html/core/cache/includes/elements/modsnippet/216.include.cache.php on line 41
Собственно содержимое файла:<?php
// Register API keys at https://www.google.com/recaptcha/admin
$site_key = $modx->getOption('recaptchav2.site_key', null, '');
// reCAPTCHA supported 40+ languages listed here: https://developers.google.com/recaptcha/docs/language
$lang = $modx->getOption('cultureKey', null, 'en');
$recaptcha_html = $modx->getChunk('recaptchav2_html', array(
'site_key' => $site_key,
'lang' => $lang,
));
if ($hook) {
$hook->setValue('recaptchav2_html', $recaptcha_html); // This won't re-render on page reload there's validation errors
return true;
} else { // This works at least
return $recaptcha_html;
}
return;
Самое интересное, что форма работает нормально, письма отправляет! Но вот ошибка реально раздражает, методом проб и ошибок, понял, что она возникает из за сниппета recaptchav2 как бы с одной стороны не смертельно установить другую, но очень уж нравится гугловская!Может кто подскажет чего и куда копать!
Заранее спасибо!
Вывод Embede-ссылки в ленту [videoGallery]
Приветствую сообщество!
Сразу к делу, пользуюсь компонентом videoGallery для добавления видео с фронта на сайт по этой инструкции:
modx.pro/components/6799-add-videogallery-videos-from-frontend/
Все круто, на созданную страницу видео вывожу так:
Сразу к делу, пользуюсь компонентом videoGallery для добавления видео с фронта на сайт по этой инструкции:
modx.pro/components/6799-add-videogallery-videos-from-frontend/
Все круто, на созданную страницу видео вывожу так:
[[pdoResources?
&parents=`0`
&resources=`[[*id]]`
&includeTVs=`video`
&tvPrefix=``
&decodeJSON=`0`
&tpl=`@INLINE
{set $video_json = json_decode($_modx->resource.video, true)}
Не отображает общий рейтинг одного тикета!
Приветствую сообщество!
Собственно вопрос в следующем! Вот у меня несколько разделов с тикетами, там есть куча тикетов и все дела!
И все было здорово, пользователи голосовали за тикет и вроде все работает как часы!
Настроил голосование так, чтобы пользователь мог проголосовать, поставив Плюс! (Минус и Воздержаться я убрал)
И вот теперь, чтобы долго не разводить дискуссию, наглядная картинка, что происходит сейчас:
Это начало происходить совсем недавно! Буквально несколько дней назад!
Подскажите в какую сторону копать!
Заранее спасибо!
Собственно вопрос в следующем! Вот у меня несколько разделов с тикетами, там есть куча тикетов и все дела!
И все было здорово, пользователи голосовали за тикет и вроде все работает как часы!
Настроил голосование так, чтобы пользователь мог проголосовать, поставив Плюс! (Минус и Воздержаться я убрал)
И вот теперь, чтобы долго не разводить дискуссию, наглядная картинка, что происходит сейчас:
Это начало происходить совсем недавно! Буквально несколько дней назад!
Подскажите в какую сторону копать!
Заранее спасибо!
фильтр по ТВ-полю через "where"
Приветствую сообщество!
В общем прочитав один триллион страниц и еще немного гугл, я понял, что все же своими силами не решу данную задачу!
В общем в чем суть! Есть два раздела!
Раздел номер один — статьи! (контейнер с тикетами)
Раздел номер два — Кино! (контейнер с тикетами)
В Разделе Кино, есть фильм или сериал и на странице этого сериала выводятся новости из контейнера Статьи, которые ясное дело с ними связаны! Как я это хотел сделать?
В форме добавить статью есть поле (2TypeTV), которое содержит автопоиск, этот автопоиск включает в себя скажем список из pagetitle раздела Кино! И когда я через форму заполняю точное название (например фильм «Васаби»), то эта статья отображается в разделе Кино на странице этого фильма в той самой вкладке! Собственно доя этой задачи подошла вот эта конструкция:
В общем прочитав один триллион страниц и еще немного гугл, я понял, что все же своими силами не решу данную задачу!
В общем в чем суть! Есть два раздела!
Раздел номер один — статьи! (контейнер с тикетами)
Раздел номер два — Кино! (контейнер с тикетами)
В Разделе Кино, есть фильм или сериал и на странице этого сериала выводятся новости из контейнера Статьи, которые ясное дело с ними связаны! Как я это хотел сделать?
В форме добавить статью есть поле (2TypeTV), которое содержит автопоиск, этот автопоиск включает в себя скажем список из pagetitle раздела Кино! И когда я через форму заполняю точное название (например фильм «Васаби»), то эта статья отображается в разделе Кино на странице этого фильма в той самой вкладке! Собственно доя этой задачи подошла вот эта конструкция:
&where=`{"pagetitle":"[[*2TypeTV]]"}`
CSS классы для +/- рейтингов
Приветствую сообщество!
Наверняка сейчас в меня полетят тухлые помидоры, но хоть убейте не нашел решения!
Задача то не сложная, по по скольку я не почти не шарю не в php не в java, то для меня это сущий ад!
Итак, задача то простенькая:
Необходимо сделать так, что бы выводимому рейтингу присваивался определенный класс, например:
Спасибо за любую подсказку и даже за помидор брошенный в мою сторону!
Наверняка сейчас в меня полетят тухлые помидоры, но хоть убейте не нашел решения!
Задача то не сложная, по по скольку я не почти не шарю не в php не в java, то для меня это сущий ад!
Итак, задача то простенькая:
Необходимо сделать так, что бы выводимому рейтингу присваивался определенный класс, например:
green и red
для того, чтобы в результате выводить при положительном рейтинге что то вроде такого:<span class="green">800</span>
а прим отрицательном так:<span class="red">-75</span>
Я реально понимаю и примерно представляю какими средствами необходимо воспользоваться или как можно этого достичь! Но знаний реально мало, поэтому очень прошу помощи!Спасибо за любую подсказку и даже за помидор брошенный в мою сторону!
Управление группами пользователей из фронтэнда
Приветствую сообщество!
Искал, перерыл весь интернет и ищу уже слишком давно!
В общем какой смысл, из него же вытекает название темы!
Необходимо:
1. Сделать так, чтобы пользователь мог создавать Подгруппы в определенной группе (пользотвателей разумеется) из фронтэнда с возможностью лидеру группы назначать роли новым пользователям в группе! Для чего? (Но именно так, чтобы новая группа добавлялась как подгруппа, для Родительской группы)
2. Для того, чтобы организовать, что то вроде групп или пабликов в ВК, где пользователь мог либо сам присоединяться, либо по заявке! Для чего?
Искал, перерыл весь интернет и ищу уже слишком давно!
В общем какой смысл, из него же вытекает название темы!
Необходимо:
1. Сделать так, чтобы пользователь мог создавать Подгруппы в определенной группе (пользотвателей разумеется) из фронтэнда с возможностью лидеру группы назначать роли новым пользователям в группе! Для чего? (Но именно так, чтобы новая группа добавлялась как подгруппа, для Родительской группы)
2. Для того, чтобы организовать, что то вроде групп или пабликов в ВК, где пользователь мог либо сам присоединяться, либо по заявке! Для чего?
Виртуальная страница пользователя
Вот была тема:
Страница пользователя как на modx.pro
Здесь было описано как сделать страничку пользователя с кучей мануалов! Вроде все понятно и вообще не чего трудного!
Делал все как написано в инструкции, которая расписана можно сказать так, что и «чайник» вроде меня разберется!
Страница пользователя как на modx.pro
Здесь было описано как сделать страничку пользователя с кучей мануалов! Вроде все понятно и вообще не чего трудного!
Делал все как написано в инструкции, которая расписана можно сказать так, что и «чайник» вроде меня разберется!