Олег Щавелев

Олег Щавелев

С нами с 20 января 2017; Место в рейтинге пользователей: #28

Скрипт создающий sudo юзера


Бывают ситуации, что пароль от админа теряется, а к почте, на которую зареган админ, доступа нет. Данный скрипт создаёт sudo юзера при запуске с рандомным логином и паролем. Дальше уже можно через этого юзера поменять пароль от админа, а залогинившись под админом — удалить только что созданного sudo. Скрипт просто надо закачать в папку с MODX и запустить.
Павел Гвоздь
15 февраля 2016, 10:08
modx.pro
32
4 000
+5

Обертка для чанка (tpl) PdoResorces

Всем привет.
Есть чанк persons.tpl
<div class="span3">
  <div class="persons__item person">
    <a href="{$_modx->makeUrl($id)}" class="person__link">
      <img src="{$_modx->runSnippet('phpthumbon', [
        'options' => '&w=240&h=291&zc=1',
        'input' => $_pls['tv.imagePerson']
      ]
      )}" class="person__img">
      <div class="person__name">{$pagetitle}</div>
    </a>
  </div>
</div>
Используется на сайте более 5 раз.

Различие только в наименовании класса span3, где-то нужен span2,span4 и тд.

Вывод вот такой
{$_modx->runSnippet('pdoResources', [
'parents' => 7,
'depth' => 0,
'limit' => 0,
'includeTVs' => 'imagePerson',
'tplPath' => '/assets/elements/tpl/',
'tpl' => '@FILE persons.tpl'
])}
как передать название класса в чанк, что-то типа
'nameClassWrapper' => 'span2',
<div class="{$nameClassWrapper}">
  <div class="persons__item person">
    <a href="{$_modx->makeUrl($id)}" class="person__link">
      <img src="{$_modx->runSnippet('phpthumbon', [
        'options' => '&w=240&h=291&zc=1',
        'input' => $_pls['tv.imagePerson']
      ]
      )}" class="person__img">
      <div class="person__name">{$pagetitle}</div>
    </a>
  </div>
</div>
или возможно это всё костыли, и есть решение из коробки
Глеб
06 февраля 2016, 13:07
modx.pro
1
1 673
0

Расширение любых таблиц MODX

В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.

Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.

Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Василий Наумкин
16 ноября 2015, 07:07
modx.pro
116
10 201
+11

Tickets у вас недостаточно прав

Использую

[[!pdoPage?
                        &element=`TicketComments`
                        &allowGuest=`0`
                        &depth=`1`
                        &gravatarIcon=`mm`
                        &gravatarSize=`140`
                        &tplCommentAuth=`Tickets.comment.one.auth`
                        &tplCommentGuest=`tpl.Tickets.comment.one.guest`
                        &tplComments=`tpl.Tickets.comment.wrapper`
                        &tplCommentForm=`tpl.Tickets.comment.form`
                        &tplLoginToComment=`tpl.Tickets.comment.login`
                        
                        &limit=`5`
                    ]]
                    <hr />
                    [[!+page.nav]]
Konstantin
23 октября 2015, 14:12
modx.pro
2
3 512
0

Минимальное количество товара в miniShop2

Всем привет! Столкнулся с такой проблемой, необходимо указать минимальное количество товара, скажем 5 штук, но сделать это так, чтобы покупатель не смог поставить меньше? Есть ли готовые решения?
Андрей Копп
15 октября 2015, 19:23
modx.pro
2
2 690
0

Кэширование в MODX Revo для Google Page Speed

Всем привет! Столкнулся с такой проблемой, при проверке сайта в developers.google.com/speed/pagespeed/insights/ выскакиевает такая ошибка:


Андрей Копп
16 сентября 2015, 20:47
modx.pro
9
7 351
0

Автообновление индекса mSeach2 через cron

Есть интернет магазин с импортом из файла.
Импорт производится кроном раз в сутки.
Каждый раз после импорта нужно чистить кеш сайта и обновлять индекс в mSearch2.

Для чистки кеша нашел вот такой скрипт и засунул в cron:
<?php
function clearCache() {
require_once('/index.php');
$modx= new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');
$cm = $modx->getCacheManager();
$cm->refresh();
}
?>
Вопрос в следующем: нет ли похожего скрипта для обновления индекса mSearch2, что бы тоже засунуть его в cron?
Валерий Савинов
20 июля 2015, 07:11
modx.pro
1
1 315
0

xPDO: некорректное определение типа поля в JOIN ON

Пользовательская таблица, имеет xPDO-схему без связей с другими таблицами:
<?xml version="1.0" encoding="UTF-8"?>
<model package="s" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
        <object class="sRelations" table="sRelations" extends="xPDOSimpleObject">
                <field key="id1" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" index="index" />
                <field key="id2" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" index="index" />                
        </object>
</model>

Как видно по схеме, все поля имеют целочисленный тип.

Если пользовательскую таблицу join'ить к «modResource»:
$query = $modx->newQuery('modResource');
$query->select(array('modResource.id AS resourceId'));
$query->innerJoin('sRelations', 'sRelations', array('sRelations.id1:=' => 5));

то число 5 парсится как строка:
SELECT modResource.id AS resourceId
FROM `modx_site_content` AS `modResource`
JOIN `sRelations` `sRelations` ON `sRelations`.`id1` = '5'

Cyrax_02
02 мая 2015, 08:51
modx.pro
1
1 410
0

[Tickets] Версия 1.6.1-pl Рейтинги пользователей

Представляю вам новую версию Tickets 1.6.0-pl, с системой рейтингов. Она написана в рамках нашей краудфандинговой компании, вот beta версия, а вот rc.

Новые объекты

В этой версии появлсяются 2 новых объекта: TicketAuthor, связанный с modUser, и TicketAuthorAction. Как нетрудно догадаться, первый объект это профиль автора на сайте, куда пишется:
  • Дата создания профиля (регистрация пользователя)
  • Последняя активность
  • Общий рейтинг
  • Количество тикетов
  • Количество комментариев
  • Просмотров
  • Сколько тикетов или комментов автора было добавлено в избранное
  • Сколько было отдано голосов за тикеты и комменты автора
Василий Наумкин
30 апреля 2015, 09:41
modx.pro
13
15 250
+19

Снова о дополнительных TV-полях в TicketForm

Приветствую!
Вопрос, касающийся дополнительных tv-параметров для формы Tickets.

Было время, когда на многих ресурсах поднимался этот вопрос, но потом все как-то дружно замолчали, как будто узнали решение :) И всё, что я сейчас смог найти, это комментарии двух- а то и трёхлетней давности, из которых толком ничего почерпнуть не получилось.
Суть задачи в следующем: нужно добавить несколько полей типа select в форму создания тикета.
С обычными текстовыми полями проблем не возникает.
Александр
23 апреля 2015, 17:57
modx.pro
6
5 156
0