Владимир
С нами с 22 мая 2018; Место в рейтинге пользователей: #488Снова про каталог ядра в открытом доступе или как получить 404 для core (nginx+apache)?
Хостинг sprinthost.ru — nginx самостоятельно обрабатывает запросы только к статическим данным, передавая все остальные Apache.
Следовательно мы получаем ошибку «Каталог ядра в открытом доступе», даже если htaccess переименован.
Выносить core не вариант.
Дополнение в htaccess не помогло:
В техподдержке подсказали:
«Чтобы все обращения к директории core обрабатывались только Apache, можно изменить права доступа для этого каталога, установив запрет на всё для всех (цифра 0 в конце), например, 750, 640 и так далее. В этом случае запросы будут отклоняться с кодом ответа 403.»
Выставил 750 и да, теперь я получаю 403, доступа к файлу changelog.txt нет и надпись с ошибкой исчезла, но как мне получить теперь 404 ошибку по адресу site.ru/core/?
Следовательно мы получаем ошибку «Каталог ядра в открытом доступе», даже если htaccess переименован.
Выносить core не вариант.
Дополнение в htaccess не помогло:
IndexIgnore */*
<Files *.*>
Order Deny,Allow
Deny from all
</Files>
В техподдержке подсказали:
«Чтобы все обращения к директории core обрабатывались только Apache, можно изменить права доступа для этого каталога, установив запрет на всё для всех (цифра 0 в конце), например, 750, 640 и так далее. В этом случае запросы будут отклоняться с кодом ответа 403.»
Выставил 750 и да, теперь я получаю 403, доступа к файлу changelog.txt нет и надпись с ошибкой исчезла, но как мне получить теперь 404 ошибку по адресу site.ru/core/?
pdoResources и фильтр TV
Привет сообщество!
Есть раздел портфолио (parent id = 11) с работами, есть страницы услуг (parent id = 10).
На странице услуги необходимо вывести вывести работу, которая относится к этой услуге, я сделал так:
1) TV «show_in_service» (список, одиночный выбор), разделитель "," + «возможные значения»
2) Сниппет «select_portfolio_service» который тянет список услуг с id = 10
3) в работе портфолио выбираю необходимую услугу в этом TV и вывожу на странице самой услуги:
С одиночным выбором всё работает отлично, но работы портфолио могут относиться к нескольким услугам, если сменить TV на множественный выбор, а в работе указать несколько услуг, то в массиве я уже получаю вместо [tv.show_in_service] => 17 — [tv.show_in_service] => 17||16||15 и соответственно выборка pdoResources не работает :(
Как правильно вывести каждую работу, которая относится к этой услуге?
Есть раздел портфолио (parent id = 11) с работами, есть страницы услуг (parent id = 10).
На странице услуги необходимо вывести вывести работу, которая относится к этой услуге, я сделал так:
1) TV «show_in_service» (список, одиночный выбор), разделитель "," + «возможные значения»
@EVAL return $modx->runSnippet('select_portfolio_service');
2) Сниппет «select_portfolio_service» который тянет список услуг с id = 10
<?php
$output = '';
$q = $modx->newQuery('modResource');
$q->where(array(
"parent" => "10"
));
$q->sortby('pagetitle','ASC');
$q->select(array(
"modResource.id",
"modResource.pagetitle",
));
$s = $q->prepare();
$s->execute();
while($row = $s->fetch(PDO::FETCH_ASSOC)){
$data[] = "{$row['pagetitle']}=={$row['id']}";
}
$output = implode("||", $data);
return $output;
3) в работе портфолио выбираю необходимую услугу в этом TV и вывожу на странице самой услуги:
{$_modx->runSnippet('!pdoResources', [
'tpl' => ''
'parents' => 11,
'includeTVs' => 'show_in_service'
'tvFilters' => 'show_in_service===' ~ $_modx->resource.id
])}
С одиночным выбором всё работает отлично, но работы портфолио могут относиться к нескольким услугам, если сменить TV на множественный выбор, а в работе указать несколько услуг, то в массиве я уже получаю вместо [tv.show_in_service] => 17 — [tv.show_in_service] => 17||16||15 и соответственно выборка pdoResources не работает :(
Как правильно вывести каждую работу, которая относится к этой услуге?
Как перенести неопубликованные ресурсы в другой каталог
Есть структура вида:
Мероприятия (id1)
— Мероприятие 3
— Мероприятие 4
Архив мероприятий (id2)
— Мероприятие 1
— Мероприятие 2
Как сейчас всё работает: для каждого мероприятия выставляется дата снятия с публикации, после снятия с публикации мероприятие руками перетягивается в каталог «Архив мероприятий (id2)» и публикуется (чтобы анонимы могли видеть мероприятия из архива).
Вопрос: как это автоматизировать? полагаю что через cron, но не имею понятия как это сделать. Прошу помощи!
Мероприятия (id1)
— Мероприятие 3
— Мероприятие 4
Архив мероприятий (id2)
— Мероприятие 1
— Мероприятие 2
Как сейчас всё работает: для каждого мероприятия выставляется дата снятия с публикации, после снятия с публикации мероприятие руками перетягивается в каталог «Архив мероприятий (id2)» и публикуется (чтобы анонимы могли видеть мероприятия из архива).
Вопрос: как это автоматизировать? полагаю что через cron, но не имею понятия как это сделать. Прошу помощи!
Подскажите правильную реализацию
Добрый день, на сайте есть 2 основных раздела — услуги и категории. Каждая услуга может находиться в нескольких категориях. Как правильно организовать такую структуру? Прикрепил картинкой для лучшего восприятия.
Мои мысли:
Внутри каждой услуги заводить TV множественный выбор и через @EVAL тянуть категории, далее отмечать необходимые, ну а в самой категории выводить отмеченные ID услуг через pdoResources?
1. Может есть более изящное решение? Или я на правильном пути?
2. Как быть с хлебными крошками и URL? Ведь хочется получить всё по-красоте:
/cat_1/service_1/
/cat_1/service_2/
/cat_2/service_1/
/cat_2/service_2/
Мои мысли:
Внутри каждой услуги заводить TV множественный выбор и через @EVAL тянуть категории, далее отмечать необходимые, ну а в самой категории выводить отмеченные ID услуг через pdoResources?
1. Может есть более изящное решение? Или я на правильном пути?
2. Как быть с хлебными крошками и URL? Ведь хочется получить всё по-красоте:
/cat_1/service_1/
/cat_1/service_2/
/cat_2/service_1/
/cat_2/service_2/