MobileDetect и debugParser
Обратил внимание, что при проверке debug-ом страницы, я вижу в том числе и отрендеренные теги {mobile} для десктопной версии. Т.е. mobileDetect уже потом вырезает из фактически отрендеренной страницы лишнее?
То есть бессмысленно рассчитывать на то, что плагин MobileDetect поможет еще и в производительности? Т.е. «тяжелые» менюшки полюбому будут рендериться дважды..(
Кстати, «кастомная модификация» MobileDetect в виде плагина отсюда modx.pro/help/6320
не помогает. Даж не знаю, что делать чтобы избегать рендеринга (и соотв. запросов к БД) в ненужных участках.
То есть бессмысленно рассчитывать на то, что плагин MobileDetect поможет еще и в производительности? Т.е. «тяжелые» менюшки полюбому будут рендериться дважды..(
Кстати, «кастомная модификация» MobileDetect в виде плагина отсюда modx.pro/help/6320
не помогает. Даж не знаю, что делать чтобы избегать рендеринга (и соотв. запросов к БД) в ненужных участках.
Как избавиться от добавления скрипта miniShop2 непосредственно на страницы сайта?
Добрый день! Собираю все скрипты для сайта бандлером, понадобилось включить в сборку js от miniShop2
Каким образом избавиться от добавления скрипта непосредственно на страницы сайта, которое осуществляется компонентом?
Каким образом избавиться от добавления скрипта непосредственно на страницы сайта, которое осуществляется компонентом?
Как изменить размер карточки minishop2
Как изменить размер карточки, когда заходишь с телефона?
1 карточка занимает почти полный экран, а нужно, чтобы отображалось хотя бы 2 в одной строке
1 карточка занимает почти полный экран, а нужно, чтобы отображалось хотя бы 2 в одной строке
Как создавать опции msync из списка?
Есть простой список с опциями синхронизациями, нужно их все заполнить из него быстро.
Что пытался:
1) Через newObject но он вообще не находит объект опции, схему смотрел класс копировал. Пытался через $xpdo-> а так же $modx
Что пытался:
1) Через newObject но он вообще не находит объект опции, схему смотрел класс копировал. Пытался через $xpdo-> а так же $modx
$newMsPr = $xpdo->newObject('mSyncProductProperty');
$newMsPr->set('source', 'ТЕСТПРИКОЛ');
$newMsPr->set('type', 1);
$newMsPr->set('target', 'testprikol');
$newMsPr->set('active', 1);
$newMsPr->set('default', 0);
$newMsPr->set('is_multiple', 0);
$newMsPr->set('is_primary', 0);
$newMsPr->save();
2) Пытался с эмулировать запрос. Но получал лишь 401 ошибку. Выполнял в косноли<?php
function transliteCyrilic($value){
$converter = array(
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
'е' => 'e', 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i',
'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't',
'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch',
'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'y', 'ъ' => '',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
);
$value = mb_strtolower($value);
$value = strtr($value, $converter);
$value = mb_ereg_replace('[^-0-9a-z]', '_', $value);
$value = mb_ereg_replace('[-]+', '_', $value);
$value = trim($value, '_');
return $value;
}
$chars = array("Объем, л", "Номенклатура");
$translated_arr = array();
$createUrl = 'https://example.com/assets/components/msync/connector.php/';
foreach ($chars as $char) {
$params = array(
'action' => 'mgr/property/create',
'id' => '',
'default' => '',
'source' => $char,
'type' => 1,
'target' => transliteCyrilic($char),
'is_multiple' => 0,
'is_primary' => 0,
'active' => 1
);
$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => $createUrl,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params)
));
$response = curl_exec($myCurl);
echo var_dump($response);
die();
curl_close($myCurl);
}
die();
3) Сделал это всё на питоне, там авторизовывался в адмнке, но так же 401 ошибка.import re
from requests import Session
LOGIN_CONTEXT = "mgr"
RETURN_URL = "/manager/"
USERNAME = "ashdjkashldkfjhasldf"
PASSWORD = "sadkfas;lkdjfh;lasd"
LOGIN_URL = "https://example/manager/"
msync_coonector = 'https://example/assets/components/msync/connector.php/'
def main():
chars = {"Объем, л":"obem__l","Номенклатура":"nomenklatura"}
with Session() as session:
req = session.post(LOGIN_URL, data={"login_context": LOGIN_CONTEXT , 'returnUrl': RETURN_URL, 'username': USERNAME, 'password': PASSWORD, 'login': "1"})
for char_key, char_value in chars.items():
send_params = {
'action': 'mgr/property/create',
'id': '',
'default': '',
'source': char_key,
'type': 1,
'target': char_value,
'is_multiple': 0,
'is_primary': 0,
'active': 1
}
create_property = session.post(msync_coonector, data=send_params, timeout=60)
print(create_property.text)
if __name__ == '__main__':
main()
4) Пытался прям на месте через повторить запрос создания опции через chrome tools, но даже там получил ошибку 401, уверен что это из-за mod http auth Babel ошибка 404
Всем здравствуйте!
Установил Babel, открываю связанные страницы (даже из админки), и получаю 404 ошибку…
Страницы опубликованы
Делал по инструкции:
Вот мой .htaccess
Спасибо заранее!
Установил Babel, открываю связанные страницы (даже из админки), и получаю 404 ошибку…
Страницы опубликованы
Делал по инструкции:
Вот мой .htaccess
RewriteEngine On
RewriteBase /
# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(ru|en)/favicon.ico$ favicon.ico [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(ru|en)/assets(.*)$ assets$2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(ru|en)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
В чем могут быть грабли?Спасибо заранее!
Добавить в Tikets возможность создавать вопросы неавторизованным пользователям
14
Приветствую.
В Tickets есть возможность комментировать тикеты неавторизованным пользователям. Для этого в настройках TicketComments надо задать значение 1 в параметре allowGuest. После этого появляются два поля (автор и почта) и можно внести в них данные и откомментировать. А вот задавать вопрос, т. е. создавать тикет неавторизованный пользователь не может. Надо эту ситуацию исправить и сделать возможным задавать вопросы неавторизованным пользователям.
В Tickets есть возможность комментировать тикеты неавторизованным пользователям. Для этого в настройках TicketComments надо задать значение 1 в параметре allowGuest. После этого появляются два поля (автор и почта) и можно внести в них данные и откомментировать. А вот задавать вопрос, т. е. создавать тикет неавторизованный пользователь не может. Надо эту ситуацию исправить и сделать возможным задавать вопросы неавторизованным пользователям.
Залить json в структуру modx
100 000
Добрый. Нужно распарсить json в структуру modx, создать ресурсы. В json архив описаний: год, автор, текст к ретрофоткам и папка непосредственно с фотографиями. Пишите t.me/shorohi
Как реализовать замену document.write в сниппете
Подскажите пожалуйста, как можно заменить метод document.write в данном примере
<script type="text/javascript">
cityFields = {
actionUrl: "'.$cityFields->config['actionUrl'].'",
cityInDomain: '.($cityFields->cityInDomain?'true,
mainHost: "'.$hostASCII.'"':'false').'
};
typeof jQuery == "function" || document.write("<script type=\"text/javascript\" src=\"' . $cityFields->config['jsUrl'] . 'web/jquery.min.js\"><\/script>");
</script>
Какие альтернативы есть модулю Tickets?
Приветствую.
Какие вы знаете альтернативы модулю Tickets?
Какие вы знаете альтернативы модулю Tickets?
Почему я не могу сохранить данные в 2 новых поля при создании заказа?
При создании заказа, в два поля добавляются данные, но получается так что у меня добавляются и сохраняются дданые лишь в последний стоящий в коде, а не в оба. Все данные работают, если всё пробовать в консоли всё великолепно работает.
$msOrder->set('myfield', $fielddata);
$msOrder->set('myfield2', $fielddata2);
$msOrder->save();
Пытался и так$msOrder->set('myfield', $fielddata);
$msOrder->save();
$msOrder->set('myfield2', $fielddata2);
$msOrder->save();
И разделял даже плагины на отдельные куски, то есть в каждом плагине было по 1 сохранению, но всё так же заполняется только последний, хотя данные для обоих.