Всего 123 794 комментария

Артур Шевченко
11 августа 2024, 20:45
0
URL — это адрес ресурса в сети Интернет. У тебя есть URL domain.ru/section-1/resource-x. Ты хочешь чтобы у тебя был URL domain.ru/section-2/resource-x и чтобы при этом это не считалось дублем и не переадресовывало в Раздел 1. Так сделать нельзя.
weranda
11 августа 2024, 20:23
0
Ты хочешь оставить такой же url, но при этом чтобы не было переадрессации в раздел 1
Да, именно так. Чтобы не было дубля страницы и ее не пришлось бы закрывать от индексации.

что плохо для сео
Именно так.

Если представить себе эту схему, то есть варианты:
1. Простой запрос URL, к примеру, вводом в адресную строку браузера — открывается страница, вложенная в первый раздел.
2. Запрос URL из второго раздела — открывается во втором разделе.

Т. е. что-то типа приоритезации открытия URL: по умолчанию — в первом разделе, а если из второго раздела — во втором. Давно об этом думал, но толком ничего не придумал. Возможно, это как-то можно обработать программно… Не то что можно, это наверняка возможно, но как… может быть, передачей каких-то дополнительных пареметров в URL через Javascript…
Артур Шевченко
11 августа 2024, 19:28
0
Если ты хочешь вывести список ресурсов с группировкой по родителю, то самый простой вариант это вызвать pdoMenu и в чанке tplParentRow вызвать pdoResources, куда в параметр parents передать id текущего ресурса.
Артур Шевченко
11 августа 2024, 19:12
0
Ты хочешь оставить такой же url, но при этом чтобы не было переадрессации в раздел 1, это вообще как? Либо ты делаешь ссылку на ресурс Х из раздела 1 и тогда у тебя по одному урлу будет доступен 1 ресурс, либо ты создаёшь символическую ссылку на ресурс Х из раздела 1, но тогда у тебя будет два урла, но один ресурс, что плохо для сео.
weranda
11 августа 2024, 18:06
0
И тогда будет переадресоввывать в раздел 1 из раздела 2.
Артур Шевченко
11 августа 2024, 18:05
0
Создай в разделе 2 ресурс-ссылку на ресурс Х
Артём
11 августа 2024, 16:14
0
Здравствуйте! Да я не то что кода, я админку дать могу, если это поможет)))
Артём
11 августа 2024, 16:14
0
Прошу прощения, да глупо писать тарабарщину и просить при этом помочь)
Вот тут vkuspodarka.ru/ В категории Коллекции должны отображаться не просто товары, а Несколько разных коллекций, а уже в них товары.
Так вот, чтобы я не делал, какие бы не устанавливал типы шаблонов и типы ресурсов, отображаются только товары. А на самом деле там еще 2 категории в которых как раз по 1 товару. А отображаются только лишь товары.
К слову на главной странице не было Коллекций вообще, их я сам добавил в чанках. А вот дальше, увы… не понимаю логику, из-за этого затык. Мат часть конечно наше всё, но сроки уж больно сжатые, а помимо MODX есть ещё куча всего «по наследству».
Благодарю за развёрнутый отыет зврвнее и прошу прощения если что-то не понятно.
Sergey (Sentinel)
11 августа 2024, 13:42
0
Можно ли вывести эти данные в карточке товара?
Александр Мельник
09 августа 2024, 19:55
+2
Ничего невозможно понять из описанной вами задачи.
Вы пишите, что задача состоит в том чтобы «вопрос о добавлении подраздела в главное меню». Тоесть у вас есть меню и нужно добавить в него пункт. Ок.
Читаем далее.
«И вот чтобы я не делал, как бы не добавлял, отображается только конечный товар.» Тоесть у вас в меню отображаются ТОВАРЫ? Это необычно, но всякое бывает.
Далее.
«Я добавил на главной странице кнопку» Что? какую кнопку? Причем тут главная страница и кнопка если задача было о меню и о необходимости добавить туда пункт?
Далее.
«к нейпривязал фото и прочее» Серьезно? К кнопке привязали фото и прочее? Это как?
Далее.
«Нажимаю на неё, перехожу. В открывшейся ссылке написанно посередине (1).» Я правильно понял, что вы нажали на кнопку к которой привязано фото и прочее, а на открывшейся странице написано слово «ПОСЕРЕДИНЕ»? Да, это похоже на проблему, я бы на этом моменте тоже запаниковал.

Скажите пожалуйста, какой помощи вы ждете от сообщества, если вы совершенно не потрудились внятно описать проблему и задачу? Никто не умеет читать мысли. Хотите получить ответ — потрудитесь над вопросом.
vit
vit
09 августа 2024, 15:56
0
Может дать хоть немного кода покажете?)
Вячеслав Варов
08 августа 2024, 19:59
0
Сейчас возвращает строку c data, что с ней делать пока не понятно

string(50031) "Array ( [id] => 51 [type] => document [contentType].....
Николай Савин
08 августа 2024, 16:52
0
Спасибо да. Ты уже кидал где то. Ссылка есть. Это интересная тема, в нее точно стоит погрузиться. Но сначала уже архитектуру добить
Василий Наумкин
08 августа 2024, 16:44
+1
На всякий случай вкину ссылку на репо с miniShop3 который я переделал под Composer как-то раз на досуге — github.com/bezumkin/MiniShop3/

Это чисто proof of concept, для реальной работы не предназначено, просто доказательство возможности такой работы.

Никого ни к чему не призываю, просто для информации.
Артур Шевченко
08 августа 2024, 13:58
0
Исправил. Потратил своё обеденное время, только чтобы ты доволен был.
Николай Савин
08 августа 2024, 13:45
0
А как связаны между собой крон и сниппет?

Крон дергает PHP файлы обычно. А сниппет — это запись в базе данных — совсем другая сущность.
Показал бы уже полную запись в крон менеджере
Konstantin
08 августа 2024, 08:35
0
Профиксите пожалуйста баг — при загрузке файлов валидатор ругается на файлы у которых в названии присутствуют точки считая что после них должно быть сразу расширение, не найдя нужного расширения после них выдает ошибку — что может смутить человека который отправляет файлы с фронта
Дмитрий
07 августа 2024, 21:24
0
31 июля 2024 разработчики обновили панель, после чего у меня перестал работать сайт. Пришлось поправить конфиг. Актуальный конфиг теперь такой:

server {
    listen 10.10.10.10:80;
    server_name my-site.ru www.my-site.ru;
    return 301 https://my-site.ru$request_uri;
}

server {
    listen 10.10.10.10:443 ssl http2;
    server_name my-site.ru www.my-site.ru;

    # Изменить имя сертификата, если создан другой сертификат (нужно выпустить wildcard, для корректной работы переадресации с www)
    ssl_certificate     /var/www/httpd-cert/my-site.ru_2023-06-27-00-03_12.crt;
    ssl_certificate_key /var/www/httpd-cert/my-site.ru_2023-06-27-00-03_12.key;

    charset utf-8;

    gzip on;
    gzip_min_length 1000;
    gzip_proxied any;
    gzip_types gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    gzip_comp_level 5;

    set $root_path /var/www/my_site_user/data/www/my-site.ru;
    root $root_path;
    index index.php;
    disable_symlinks if_not_owner from=$root_path;
    
    location / {
    	root $root_path;
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?q=$1 last;
        }
    }

    # Редирект с www на адрес без www
    if ($host ~* '^www\.(.*)$') {
        return 301 $scheme://$1$request_uri;
    }

    # Редирект с index.php на корень сайта:
    if ($request_uri ~* '^/index.php$') {
        return 301 /;
    }

    # Убираем повторяющиеся слеши из адреса
    # Вариант, работающий только при merge_slashes = on
    if ($request_uri ~ ^[^?]*//) {
        rewrite ^ $uri permanent;
    }
    # Универсальный вариант
    #if ($request_uri ~ ^(?P<left>[^?]*?)//+(?P<right>[^?]*)) {
    #    rewrite ^ $left/$right permanent;
    #}

    # Удаление слеша в конце URL
    # Если изменили адрес админки MODX, то нужно указать его в условии этого правила, иначе будет бесконечный редирект.
    #if ($request_uri ~ ".*/$") {
    #    rewrite ^/((?!core|connectors|manager|setup).*)/$ /$1 permanent;
    #}

    # Добавление слеша в конце URL
    #if ($request_uri !~* "(?:\?)|(?:\.\w+$)|(?:\/$)") {
    #    return 301 $request_uri/;
    #}

    # Запрет для всех для при обращении к ядру MODx из браузера
	location ~ ^/core/.* {
	  deny all;
	  return 403;
	}
    
    location ~ ^/config.core.php {
	  return 404;
	}

	location @rewrite {
	  rewrite ^/(.*)$ /index.php?q=$1;
	}

    location ~ \.php$ {
        # Базовая авторизация в служебные каталоги
        location ~* ^/(manager|connectors)/ {
            auth_basic "Restricted Access";
            auth_basic_user_file /var/www/my_site_user/data/.htpasswd;
            try_files $uri $uri/ @rewrite;
            location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/var/run/my-site.ru.sock;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param DOCUMENT_ROOT $realpath_root;
            }
        }
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/my-site.ru.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|ttf|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
        try_files $uri @rewrite;
        access_log off;
	    expires 30d;
	    break;
    }

    location @fallback {
        fastcgi_pass unix:/var/run/my-site.ru.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }

	location ~ /\.ht {
	  deny all;
	}
    
    include "/etc/nginx/fastpanel2-sites/my_site_user/my-site.ru.includes";
    include /etc/nginx/fastpanel2-includes/*.conf;

    error_log /var/www/my_site_user/data/logs/my-site.ru-frontend.error.log;
    access_log /var/www/my_site_user/data/logs/my-site.ru-frontend.access.log;
}