Wassi Wassinen

Wassi Wassinen

С нами с 25 января 2013; Место в рейтинге пользователей: #37

Написать плагин или скрипт для крона для оптимизации таблицы Tickets_views

7
Проблема — есть огромная тормозящая при использовании таблица Tickets_views. Нужно оптимизировать её работу.

Нужен плагин или PHP-скрипт, который раз в неделю по крону или ещё как-то проходится по таблице Tickets_views. Отбирает просмотры за предыдущие 7 дней, кроме текущего. И плюсут кол-во просмотров из таблицы для каждого ресурса в выбранное ТВ-поле этого ресурса (где хранится простое числовое значение). После чего очищает таблицу за предыдущие 7 дней кроме текущего.
Wassi Wassinen
15 февраля 2024, 19:56
modx.pro
348
0

Как вывести теги изображений ms2gallery

Памятка для себя.
Выводим теги к изображениям ms2gallery.

В чанке указываем:

{foreach $file['tags'] | split as $item}
    <div class="tags-small__el">
        <div class="tags-small-el">{$item}</div>
    </div>
{/foreach}
Wassi Wassinen
08 февраля 2024, 14:57
modx.pro
2
325
0

Как вывести комментарии Tickets с определенным рейтингом

Заметка-памятка для себя.
Если нужно вывести комментарии Tickets выше определенного рейтинга, то можно использовать такой параметр where (для вызова на Fenom):

'where' => '{"rating:>":"0"}'
Wassi Wassinen
09 января 2024, 13:02
modx.pro
1
349
+1

MODX 3 + Fenom + PdoResources + TV-поля - ошибка (Undefined array key «duration_field»)

Всех приветствую.

Есть сайт с новым MODx 3. Поставлен PdoTools. Включен Fenom.
На странице есть вызов сниппета:

Wassi Wassinen
19 ноября 2023, 20:55
modx.pro
1
592
0

Вёрстка страницы для десктопа и Мобайл

5 7 000
Всем здравствуйте.

Необходимо сверстать страницу из макета в Figma. Десктоп версия + респонсив мобильная. Всё отрисовано, Исходники есть.

Вёрстка должна быть валидна по w3c.
Подробности в личку.
Wassi Wassinen
20 сентября 2023, 23:56
modx.pro
1
420
0

Валидность javascript для компонентов MODx

Всех приветствую.
Давно ничего не писал и вот сподобился. :)

Много раз встречал проблемы, которые описывали другие участники сообщества.
А именно — валидность Javascript, который дополнения интегрируют в тело страницы.

Wassi Wassinen
03 июля 2023, 03:06
modx.pro
2
937
+4

Нужен квиз на странице из трёх шагов

5 7 000
Нужно разместить на странице блок с квизом из трёх шагов.
Для квиза можно использовать это решение
modx.pro/solutions/22433

Так же необходимо сверстать по отрисованному дизайну (никаких сложных анимаций, пара картинок, список с выбором и форма для ввода контактов)
Wassi Wassinen
26 февраля 2022, 13:06
modx.pro
1
400
+1

Ошибка Fenom "Tokenizer" после перехода на php 7.4

Всех с Новым Годом :)
На праздниках решил переехать на php7.4 и столкнулся вот с такой ошибкой:
joxi.ru/LmGexePSwkydVA

Notice: Trying to access array offset on value of type null in /core/components/pdotools/vendor/fenom/fenom/src/Fenom/Tokenizer.php on line 257
Кто-нибудь встречал на своих проектах? С чем может быть связано?
Сервер работает на nginx + php-fpm. Как только откатываюсь на php7.2 — всё хорошо.
Wassi Wassinen
02 января 2021, 20:35
modx.pro
608
0

Подправить сниппет subscribeAuthor

2 1 000
В своё время @tolanych написал по моей просьбе такой сниппет для подписки на авторов:

<?php
/** @var array $scriptProperties */
/** @var Tickets $Tickets */
$Tickets = $modx->getService('tickets', 'Tickets', $modx->getOption('tickets.core_path', null,
        $modx->getOption('core_path') . 'components/tickets/') . 'model/tickets/', $scriptProperties);

if (!$Tickets->authenticated || empty($scriptProperties['createdby'])) {
    return '';
}

if (!empty($scriptProperties['TicketsInit'])) {
    $Tickets->initialize($modx->context->key, $scriptProperties);
}

if ($profile = $modx->getObject('TicketAuthor', array('id' => $scriptProperties['createdby']))) {
    $properties = $profile->get('properties');
    if (!empty($properties['subscribers'])) {
        $found = array_search($modx->user->id, $properties['subscribers']);
        $subscribed = ($found == false) ? 0:1;
    }
}

$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.Tickets.author.subscribe');
$data = [
    'author_id' => $scriptProperties['createdby'],
    'subscribed' => $subscribed
];
$output = $Tickets->getChunk($tpl, $data);

// Return output
if (!empty($toPlaceholder)) {
    $modx->setPlaceholder($toPlaceholder, $output);
} else {
    return $output;
}
Как в старой сказке — до обновления MODx всё было хорошо. Почти. Ругался в лог, но работало.
Теперь выдаёт такую ошибку:
Undefined variable: subscribed in www/core/cache/includes/elements/modsnippet/142.include.cache.php

Я так понимаю, из-за того, что в сниппете он не объявил $subscribed, если здесь не выполнен IF:
if (!empty($properties['subscribers'])) {
        $found = array_search($modx->user->id, $properties['subscribers']);
        $subscribed = ($found == false) ? 0:1;
    }
Кто сможет помочь, пишите через форму. Бюджет обсуждается.
Заранее благодарен.
Wassi Wassinen
05 декабря 2020, 02:07
modx.pro
409
0

Написать простенький PHP скрипт для cron'a

7 1
Есть несколько разделов с тикетами на сайте, в которых опубликовано много текстов. У некоторых из них есть признак «Для обсуждения» (тв-поле).
Эти тикеты — произведения писателей. Хочется поднять их активность и привлечь к обсуждению произведений других авторов. Для этого хочу выводить одно из произведений в нескольких местах на сайте с призывом оставлять комментарии. Те писатели, которые получают больший рейтинг за свой комментарий будут участвовать в следующем выборе произведения для голосования. Хочется избежать повторов обсуждения одного и того же произведения, а так же дать стимул для обсуждения. Поэтому возникло такое ТЗ.
Wassi Wassinen
19 декабря 2019, 01:18
modx.pro
601
0