Вячеслав Варов

Вячеслав Варов

С нами с 06 сентября 2016; Место в рейтинге пользователей: #228
Вячеслав Варов
27 июля 2024, 18:36
0
попробуй c указанием пространства, например у меня есть пространство имен
mynamespace внутри него есть все ключи и заданы они как mynamespace.key_name

в итоге вывожу
{'mynamespace.key_name' | lexicon}


Плагин на загрузку лексикона выглядит так

<?php
$lang = $modx->getOption('cultureKey');
$modx->setOption('cultureKey',$lang);
$modx->lexicon->load($lang.':mynamespace:default');
Запуск на системные события OnParseDocument и OnLoadWebDocument
Вячеслав Варов
27 июля 2024, 17:28
0
ну вот меня это и смутило, отсюда и задался вопросом — вдруг это как-то для безопасности или еще чего сделано)
Вячеслав Варов
27 июля 2024, 14:26
0
Супер, да речь об одном конкретном сайте, спасибо!)
Вячеслав Варов
27 июля 2024, 13:51
0
Этот ответ из gpt я уже читал и мне не показалось это чемто критичным, однако все таки решил спросить)

У меня сайт на nginx все пути прописывал сам, поэтому если это никак не отражается то в целом действительно проще использовать серверную константу
Вячеслав Варов
27 июля 2024, 00:56
1
0
Отвечаю на свой же вопрос — можно вот так

<?php
switch ($modx->event->name) {
    case 'OnHandleRequest':
        // Загрузка общих настроек
        $site_all = MODX_CORE_PATH . 'config/settings/';
        if (file_exists($site_all) && is_dir($site_all)) {
            foreach (glob($site_all . '*.inc.php') as $file) {
                $response = require($file);
                if (is_array($response)) {
                    $modx->config = array_merge($modx->config, $response);
                }
            }
        }
        
        // Конфигурация для сайта с конфигом MODX_CONFIG_KEY
        $site_dir = MODX_CORE_PATH . 'config/settings/' . MODX_CONFIG_KEY . '/';
        
        if (file_exists($site_dir) && is_dir($site_dir)) {
            foreach (glob($site_dir . '*.inc.php') as $file) {
                $response = require($file);
                if (is_array($response)) {
                    $modx->config = array_merge($modx->config, $response);
                }
            }
        }
        
        // Конфигурация для текущего контекста
        $context_key = $modx->context->get('key');
        $context_dir = MODX_CORE_PATH . 'config/settings/' . $context_key . '/';
        
        if (file_exists($context_dir) && is_dir($context_dir)) {
            foreach (glob($context_dir . '*.inc.php') as $file) {
                $response = require($file);
                if (is_array($response)) {
                    $modx->config = array_merge($modx->config, $response);
                }
            }
        }
        break;
}
?>
Структура папок
core/
└── config/
    └── settings/
        ├── common.inc.php           // Общие настройки
        ├── config1/
        │   └── config1-settings.inc.php   // Настройки для MODX_CONFIG_KEY = config1
        ├── config2/
        │   └── config2-settings.inc.php   // Настройки для MODX_CONFIG_KEY = config2
        ├── web/
        │   └── web-settings.inc.php       // Настройки для контекста web
        └── en/
            └── en-settings.inc.php        // Настройки для контекста en
Вид настроек например для
core/config/settings/en/en-settings.inc.php
<?php
return [
    'site_url' => 'https://your-uz-site-url.com/',
    // Добавьте другие настройки контекста здесь
];
?>
Вячеслав Варов
27 июля 2024, 00:35
0
А возможно ли и настройки контекстов сюда вынести?
Вячеслав Варов
26 июля 2024, 08:44
0
Спасибо!) А как с происходит обработка {resource_id | resource: 'tv_param_name'}

каждый такой вызов делает свой отдельный запрос в бд? Я ведь правильно понимаю — использование выше сниппета выше более рационально если надо дергать 5 — 6 полей другого ресурса?
Вячеслав Варов
24 июля 2024, 17:44
0
У меня Ubuntu и настроил все на NGINX — работает норм
Вячеслав Варов
26 июня 2024, 14:38
0
Почему-то сниппет игнорирует указанные в настройках лиректориии и продолжает сохранять файлы в /assets/minifyx/ хотя указано /assets/cache/
Вячеслав Варов
10 мая 2024, 23:56
+1
server
{
	server_name 5.35.87.177 www.5.35.87.177;
	charset off;
	ssi on;
	index index.php index.html;
	disable_symlinks if_not_owner from=$root_path;
	access_log /var/www/httpd-logs/5.35.87.177.access.log;
	error_log /var/www/httpd-logs/5.35.87.177.error.log notice;
	set $root_path /var/www/5.35.87.177;
	root $root_path;
	gzip on;
    gzip_comp_level 5;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;


	location @modx-rewrite {
        rewrite ^/(.*)$ /index.php?q=$1&$args last;
    }
	
	location / {
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @php;
		}
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ {
			expires 24h;
		}
		try_files $uri $uri/ @modx-rewrite;
	}
	
	location @php
	{
		fastcgi_index index.php;
		fastcgi_ignore_client_abort on;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
		fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
		try_files $uri =404;
		include fastcgi_params;
	}
	listen 5.35.87.177:80;
}
так заработало, может кому полезно будет
Вячеслав Варов
10 мая 2024, 23:32
0
правда не работают дружественные url, конфигурации вроде верный, что ему не нравится

В логах по классике пусто, все страницы выбивают 404, локейшн вроде как прописал верно в NGINX, во всяком случае с isp это работало
Вячеслав Варов
10 мая 2024, 23:21
0
решилось сменой владельца на www-data, от этого пользователя запускается php-fpm насколько это критично?
Вячеслав Варов
08 мая 2024, 13:36
1
0
server {
	server_name 213.139.209.81 www.213.139.209.81;
    return 301 https://213.139.209.81$request_uri;
	charset off;
	index index.php index.html;
	disable_symlinks if_not_owner from=$root_path;
	include /etc/nginx/vhosts-includes/*.conf;
	include /etc/nginx/vhosts-resources/213.139.209.81/*.conf;
	access_log /var/www/httpd-logs/213.139.209.81.access.log;
	error_log /var/www/httpd-logs/213.139.209.81.error.log notice;
	ssi on;
	set $root_path /var/www/www-root/data/www/213.139.209.81;
	root $root_path;
	gzip on;
	gzip_comp_level 5;
	gzip_disable "msie6";
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
	
	location @modx-rewrite {
        rewrite ^/(.*)$ /index.php?q=$1&$args last;
    }
	
	location / {
		try_files $uri $uri/ @modx-rewrite;
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @php;
		}
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ {
			expires 24h;
		}
	}
	location @php {
		include /etc/nginx/vhosts-resources/213.139.209.81/dynamic/*.conf;
		fastcgi_index index.php;
		fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@213.139.209.81";
		fastcgi_pass unix:/var/www/php-fpm/1.sock;
		fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
		try_files $uri =404;
		include fastcgi_params;
	}
	listen 213.139.209.81:80;
}
server {
	server_name 213.139.209.81 www.213.139.209.81;
	ssl_certificate "/var/www/httpd-cert/www-root/213.139.209.81_le1.crt";
	ssl_certificate_key "/var/www/httpd-cert/www-root/213.139.209.81_le1.key";
	ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
	ssl_prefer_server_ciphers on;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
	ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
	charset off;
	index index.php index.html;
	disable_symlinks if_not_owner from=$root_path;
	include /etc/nginx/vhosts-includes/*.conf;
	include /etc/nginx/vhosts-resources/213.139.209.81/*.conf;
	access_log /var/www/httpd-logs/213.139.209.81.access.log;
	error_log /var/www/httpd-logs/213.139.209.81.error.log notice;
	ssi on;
	set $root_path /var/www/www-root/data/www/213.139.209.81;
	root $root_path;
	gzip on;
	gzip_comp_level 5;
	gzip_disable "msie6";
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
	
    
    location @modx-rewrite {
        rewrite ^/(.*)$ /index.php?q=$1&$args last;
    }
	
	location / {
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @php;
		}
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ {
			expires 24h;
		}
		try_files $uri $uri/ @modx-rewrite;
	}
	
	location @php {
		include /etc/nginx/vhosts-resources/213.139.209.81/dynamic/*.conf;
		fastcgi_index index.php;
		fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@213.139.209.81";
		fastcgi_pass unix:/var/www/php-fpm/1.sock;
		fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
		try_files $uri =404;
		include fastcgi_params;
	}
	
	listen 213.139.209.81:443 ssl;
}
Получилось так, может кому полезно будет)
Вячеслав Варов
08 мая 2024, 13:21
0
Попробовал настроить таким образом получил что сайт в целом не открывается, открывается пустая страница и скачивается файл index.php.

Видимо обновилось что-то?
Вячеслав Варов
28 марта 2024, 09:42
0
Просто сейчас почему-то после переезда на 7.4 отлетели картинки в панели управления, вместо картинок вижу 500 ошибку
/connectors/system/phpthumb.php?w=400&h=400&aoe=0&far=0&f=png&src=products/uzcard_unionpay.jpg&source=3&version=41a17f4b
В файломов менеджере тоже превью не загружаются
Вячеслав Варов
28 марта 2024, 09:27
0
На php 7.4 запустилось, но хотелось бы разобраться и запустить на 8 версии
Вячеслав Варов
11 февраля 2024, 13:47
0
pThumb кэширует все ок, просто почему-то при обычной загрузке и Ajax разные кэши изображения

/assets/components/phpthumbof/cache/potreb_preview.19cb9a5166b7c3afe3d9d6c584abd4be.jpg — обычная

/assets/components/phpthumbof/cache/potreb_preview.48445472a51abf0072eea4c9ab7cf72a.jpg — Ajax

попробовал phpThumbOn он работает с mfilter2 и реально помогло far=0 спасибо!