Viktor

Viktor

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

Как вывести цену со скидкой в карточке товара msDiscount ?

msDiscount выводит в каталоге, корзине всё норм, но в карточке товара не выводит, в доках не нашёл как вывести цену со скидкой в карточке товара
Viktor
23 июня 2022, 11:58
modx.pro
106
0

Как зарегистрировать js скрипт при рендере страницы?

Пытался так, но как я понял это работает для снипетов, но сниппет не подходит, нужно именно подключить js при загрузке страницы.

switch ($modx->event->name) {
    case 'OnWebPagePrerender':
        
        //$modx->regClientScript('assets/somefile.js');                
        &$modx->regClientScript('assets/somefile.js');

        break;
    }
Или придётся делать через OnWebPagePrerender

и модифицировать Html
$txt = &$modx->resource->_output;
Viktor
21 мая 2022, 12:15
modx.pro
88
0

Как получить контент страницы перед рендером всех тегов и вызовов?

Как получить страницу с тегами в таком состоянии [[*id]] перед рендером?, чтобы что-то заменить.
Пробовал так, но никак не могу понять как получить весь контент страницы

switch ($modx->event->name) {
    case 'OnWebPageInit':
        $output = get_class_methods($modx);
        $modx->log(1, print_r($output), 'HTML');
        break;
}

И так
$output = &$modx->resource
&$modx->resource->_output;
Viktor
15 мая 2022, 20:07
modx.pro
83
0

Как оптимизировать все картинки на сайте разом?

У меня есть плагин который с помощью phpthumb оптимизирует при загрузке, его ведь можно превратить чтобы он оптимизировал все картинки по запуску, как получить список все картинок что используются на сайте?
<?php
$fullPath = $source->getBases() ['pathAbsolute'] . $directory;
foreach ($files as $file)
{

    if (strripos($file['type'], 'image') === false || $file['type'] == 'image/svg+xml')
    {
        return;
    }

    $name = $file['name'];
    $pathToImage = $fullPath . $name;

    if (exif_imagetype($pathToImage) == IMAGETYPE_JPEG)
    {

        $params = array(
            'w' => 1920,
            'f' => 'jpeg',
            'q' => 80,
        );

    }
    elseif (exif_imagetype($pathToImage) == IMAGETYPE_PNG)
    {

        $params = array(
            'w' => 1920,
            'f' => 'png',
            'q' => 80,
        );

    }
    elseif (exif_imagetype($pathToImage) == IMAGETYPE_GIF)
    {
        return;
    }

    $phpThumb = $modx->getService('modphpthumb', 'modPhpThumb', MODX_CORE_PATH . 'model/phpthumb/', array());
    $phpThumb->setSourceFilename($pathToImage);

    foreach ($params as $k => $v)
    {
        $phpThumb->setParameter($k, $v);
    }

    if ($phpThumb->GenerateThumbnail())
    {
        if (!$phpThumb->renderToFile($pathToImage))
        {
            $modx->log(1, 'Ошибка сохранения изображения в [' . $pathToImage . ']');
        }
    }
    else
    {
        $modx->log(1, print_r($phpThumb->debugmessages, 1));
    }

}
Viktor
02 мая 2022, 09:28
modx.pro
739
0

Как получить контент шаблона?

Как получить контент шаблона? Желательно через api modx'a, или придётся через sql?
Viktor
29 апреля 2022, 07:42
modx.pro
99
0

Как запустить скрипт php через simpleQueue?

Вообще непонятно, документация как всегда легкая напоминалка для разраба.

Так же пытался выполнить
$sq = $modx->getService('simplequeue');
как указано в доках, выдаёт ошибку что не может загрузить.
Could not load class: simplequeue from simplequeue.

Problem getting service simplequeue, instance of class simplequeue, from path
Viktor
22 марта 2022, 19:36
modx.pro
211
0

Не выводится своё значения из из своего словаря, как исправить?

Создал папку в core/components/sitetranslation/lexicon/ru/default.inc.php
папка «компонент» sitetranslation содержит только папку lexicon а в ней только папка ru а в ней только 1 файл default.inc.php
с таким значением
<?php

$files = scandir(dirname(__FILE__));
foreach ($files as $file) {
    if (strpos($file, 'msp.') === 0) {
        @include_once($file);
    }
}
$_lang['sts_modal_form_title'] = 'Хотите получить доступ? Заполните анкету';
Затем создал пространство имён в modx, в словаре всё появилось могу делать записи, те записи что делаю в файлах на хосте там отображаются, но при попытке вывести не выводит.
{'sts_modal_form_title' | lexicon}
Получаю просто sts_modal_form_title без перевода

cultureKey такой же как и название папки ru контекст web.
Viktor
16 марта 2022, 08:45
modx.pro
133
0

Uncaught --> Smarty Compiler: Syntax error 2.8.3 только на хостинге hoster.kz, как исправить?

Перенёс сайт на паганый hoster.kz, версия modx 2.8.3, php 7.4 при заходе в админку выдаёт такую ошибку
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "eval:<li id="limenu-site" class="top"> <a hre..." on line 113 "});{/literal} ">Завершить все сеансы<span class="description">Завершить все сеансы работы пользователей и произвести принудительный выход из системы всех пользователей</span>" - Unexpected " MODx.msg.confirm({ title: _('flush_sessions') ,text: _('flush_sessions_confirm') ,url: MODx.config.connector_url ,params: { action: 'security/flush' } ,listeners: { 'success': {fn:function() { location.href = './'; },scope:this} } });", expected one of: LITERALEND <-- thrown in /var/www/vhosts/kippribor.kz/promanalyt.kz/core/model/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 113
Ставил такую вещь на manager/controlers/default/header.php 328 строка
if($menu["id"] == 'flush_sessions'){
	$menu['handler'] = "";
}
Админка работала а вот меню нет prnt.sc/1oeEMsHDSdkq
Viktor
15 марта 2022, 09:11
modx.pro
147
0

Как подружить filetranslit и fastupload?

Получает если заливать файл латинскими буквами, без пробелов и нижних подчёркиваний, всё норм, но если что-то другое. всё, показывает что картинка сломана, путь показывает не такой какой он есть. Допустим такой fastupload tv. prnt.sc/cSFatPKsx_Sz
Если не использовать fastupload всё норм.
Viktor
07 марта 2022, 12:44
modx.pro
116
0

Как добавить новую локлизацию в minishop2?

нужно добавить новый язык в минишоп, чтобы при смене контекста выходили соответственные уведомления, а не допустим на англ языке
Viktor
04 марта 2022, 11:52
modx.pro
151
0