MrKarandash

MrKarandash

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

[РЕШЕНО] Краш админки на php 7.4

Всем привет. Ситуация такова, ModX 2.8.3, сайт разрабатывался на хостинге бегет, php изначально был версии 7.4
Потом сайт перенесли на хостинг nic.ru, там переключили с php 5.6 на 7.4, распаковали установили — все хорошо работало. В какой то момент, просто крашнулась админка и теперь выглядит вот так — https://prnt.sc/Pi0zyFaOPUTF
В консоли имеем ошибку вот такую — https://prnt.sc/r4rdLKTV380u
Методом тыка пришел к тому, что если переключить php на 8.0 — все начинает отлично работать. Но этого делать нельзя, так как на хостинге стоят и другие сайты, а они не работают на 8.0. nic.ru не позволяет выбирать php для каждого сайта отдельно.

В целом, не могу понять что за магия такая произошла и админка закрашилась ни с того ни с сего. Жду идей или решение, сам уже перепробовал все что мог и знал. Всем спасибо за ответы!

UPD: Разобрался, почему то переключился mbstring.func_overload=0 на 2
Не советую nic.ru
MrKarandash
28 марта 2022, 18:00
modx.pro
339
0

xParser ошибка после обновления

Здравствуйте. Давно не обновлял xParser, был 1.8.8 версии. На днях обновил и получил такую ошибку при попытке создать новые ресурсы
MrKarandash
03 сентября 2021, 14:41
modx.pro
598
0

[РЕШЕНО] Баг при обновлении с 2.6.4 на 2.7.3

Здравствуйте. Обновился на 2.7.3, но в настройках документа не появилась опция Использовать текущий псевдоним в пути псевдонимов. Кто нибудь сталкивался с таким? Спасибо за ответы!

MrKarandash
18 июня 2020, 10:38
modx.pro
379
0

[РЕШЕНО] xParser и регулярка для выреза тегов

Доброго времени суток. Использую xParser, в определенный момент столкнулся с трудность написать следующую регулярку:

Есть вот такой кусок кода, содержащий размеры, которые в последующем нужно будет отправить JSON массивом в опцию size:

<span class="cf4all_error_msg" style="display: none">Пожалуйста, выберите опцию!	</span>
	
		<div class="inline-control-group">
		<input type="radio" value="1909" id="cf4all_input_13927_22_" class="cf4all_radio" name="customProductData[2521][122][13927][customsforall_option]"><label class="cf4all_button cf4all_no_color_btn " for="cf4all_input_13927_22_">XXS	  </label>
	</div>
		<div class="inline-control-group">
		<input type="radio" value="1910" id="cf4all_input_13927_3_" class="cf4all_radio" name="customProductData[2521][122][13927][customsforall_option]"><label class="cf4all_button cf4all_no_color_btn " for="cf4all_input_13927_3_">XS	  </label>
	</div>
		<div class="inline-control-group">
		<input type="radio" value="1911" id="cf4all_input_13927_1_" class="cf4all_radio" name="customProductData[2521][122][13927][customsforall_option]"><label class="cf4all_button cf4all_no_color_btn " for="cf4all_input_13927_1_">S	  </label>
	</div>
		<div class="inline-control-group">
		<input type="radio" value="1912" id="cf4all_input_13927_2_" class="cf4all_radio" name="customProductData[2521][122][13927][customsforall_option]"><label class="cf4all_button cf4all_no_color_btn " for="cf4all_input_13927_2_">M	  </label>
	</div>
		<div class="inline-control-group">
		<input type="radio" value="1913" id="cf4all_input_13927_9_" class="cf4all_radio" name="customProductData[2521][122][13927][customsforall_option]"><label class="cf4all_button cf4all_no_color_btn " for="cf4all_input_13927_9_">L	  </label>
	</div>
		<div class="inline-control-group">
		<input type="radio" value="1914" id="cf4all_input_13927_12_" class="cf4all_radio" name="customProductData[2521][122][13927][customsforall_option]"><label class="cf4all_button cf4all_no_color_btn " for="cf4all_input_13927_12_">XL	  </label>
	</div>
Не могу вырезать теги так, что бы остался только список размеров XXL и так далее.

Максимум что получилось — regex101.com/r/mD8fB0/30

Спасибо за ответы!

UPD: стоило только написать заметку и решение пришло в голову:

При создании поля используем чанк
@INLINE {$size | preg_get_all : '/(?=<label.*?>)(.*)(?=<\/label>)/m' | preg_replace : '/<label.*?>/': '' | preg_replace : '/\t../': '' | toJSON}
Не знаю на сколько это корректно, но выдает то что нужно. Поправки и другие способы приветствуются )
MrKarandash
12 ноября 2019, 00:08
modx.pro
386
0

miniShop2 и доставка в корзине в модальном окне

Здравствуйте. Ситуация такая: корзина вызывается FancyBox + Ajax в модальном окне, соответственно default.js не подгружается в самом модальном окне. Проблема в том, что переключение способов доставки не изменяет конечной стоимости заказа. но если вручную вписать default.js в контент страницы корзины то все работает, но появляется следующая проблема — то все срабатывает по два раза. Может быть повесить какой нибудь тригер на радиобатоны для пересчета стоимости корзины или типа того? Спасибо за ответы!
MrKarandash
17 сентября 2019, 18:34
modx.pro
629
0

[РЕШЕНО] Альтернатива DynamicDropdownTV в MIGX

Всем привет. Появилась необходимость сделать зависимые поля в MIGX. Компонент DynamicDropdownTV с ним не работает. Есть ли какие то альтернативы? Спасибо за ответы!
MrKarandash
04 сентября 2019, 18:07
modx.pro
672
0

miniShop2 + система баллов (бонусов/кэшбека) P.S. msProfile не устанавливается

Всем привет. Есть задача:
1. При успешной онлайн оплате заказа на сайте человеку, в зависимости от того, в какой он группе находится, должен на внутренний счет зачисляться кэшбек. Его процент зависит от того, к какой группе относится человек.
2. При оплате товара через онлайн оплату должна быть функция выбора оплаты кэшбеком до 50% стоимости корзины
3. Кэшбек в течении 30 суток должен сгорать

пытался запустить msProfile на тестовом модхосте — не устанавливается


Есть ли какие то идеи, похожие дополнения? Может быть вы делали такое и готовы повторить за деньги?
Всем спасибо за ответы!
MrKarandash
16 августа 2019, 15:42
modx.pro
679
0

[РЕШЕНО] Мультисайтовость, поддомены и https

Здравствуйте. Настроил мультисайтовость (через поддомены), все работает кроме того, что при включении https при переходе на любой поддомен пишет Не возможно отобразить страницу
Если расскоментировать следующую строку в .htaccess

# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://site.ru/$1 [R=301,L]
Получаем перенаправление на основной домен.

Сертификат для поддомена действителен и включен

Спасибо за ответы!
MrKarandash
03 июня 2019, 19:59
modx.pro
635
0

[РЕШЕНО] $modx->newQuery получить значение TV зная id документа

Добрый вечер. По некоторым причинам нет возможности использовать конструкцию $modx->getObject, но существует еще $modx->newQuery
Как через данный запрос получить значение TV зная id документа?
Спасибо за ответы!

UPD
В моем случае решение выглядит так

<?php
switch ($modx->event->name) {
    case 'msOnGetProductPrice':
    	$values = & $modx->event->returnedValues;
		if (isset($values['price'])) {
			$price = $values['price'];
		}
		$parent = $product->get('parent');
		
        $q = $modx->newQuery('modTemplateVar');
        $q->leftJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.tmplvarid = modTemplateVar.id');
        $q->where(array('modTemplateVar.name' => 'day', 'modTemplateVarResource.contentid' => $parent));
        $q->select('modTemplateVarResource.value');

        if ($q->prepare() AND $q->stmt->execute()) {        
            $sale_day = (string)$modx->getValue($q->stmt);
            if (date("N") == $sale_day) {
                $q = $modx->newQuery('modTemplateVar');
                $q->leftJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.tmplvarid = modTemplateVar.id');
                $q->where(array('modTemplateVar.name' => 'percent', 'modTemplateVarResource.contentid' => $parent));
                $q->select('modTemplateVarResource.value');
                
                if ($q->prepare() AND $q->stmt->execute()) {
                    $sale_percent = (string)$modx->getValue($q->stmt);
                    $sale_percent = (100 - $sale_percent) / 100;
                    $price = preg_replace('/\s+/', '', $price);
                    $new_price = round($price * $sale_percent);
                    $values['price'] = $new_price;
                }
            }
        }
        break;
}
MrKarandash
20 мая 2019, 19:51
modx.pro
520
0

[РЕШЕНО] CKEditor и плагин image

Всем привет. Потребовалось расширить функционал кнопки Изображение в этом редакторе. По умолчанию дополнение устанавливается со всеми возможными плагинами, в том числе image и image2
Но они почему то не включаются и работа с изображениями выглядит стандартным способом:



В настройках добавил:
Дополнительные плагины ckeditor.extra_plugins image,image2

Но толку мало. Кто нибудь сталкивался? Спасибо за ответы!
MrKarandash
28 февраля 2019, 19:20
modx.pro
2 359
0