Приветствую!
Делаю сайт по MVC, на котором используется шаблоны, которые состоят из контента и выводятся как страницы в основной странице сайта.
Основная страница оформлена как полноценная веб-страница и имеет теги <html>, <title>, <meta>, <body> и т.д..
Внутри этой страницы инклудом или Ajax’ом тянутся и выводятся другие страницы: страница с меню, страница футера, и другие страницы, которые выводятся как блоки на основной странице.
Каждую такую страничку можно открыть за пределами основной страницы, без всех тегов <html>, <title>, <meta>, <body> и т.д. и поэтому я хочу спросить: нужно ли блокировать вывод таких недостраниц отдельно? Если нужно, то каким способом?
не должно такого быть
Есть контроллер и для него есть view с шаблономи страниц, для этого контроллера.
Можно не создавать файл с шаблоном.html, а просто в контроллере написать эту страницу и она будет выводиться.
Например, пишу в контроллере страничку:Код (Text):
public function qrcode_goods() { echo ‘<div class=»»> <p>Куриный код для товара</p> </div>’; }После этого, готова страница https://mysite.ru/qrcode_goods.html
И эта страница открывается и внутри основной страницы и самостоятельно.
Применяется фреймворк ThinkPHP6, похож на Laravel.
На Laravel вот тоже можно открыть такую страничку самостоятельно или нет?
Если нет, то как в Laravel это организовано?
не знаю как там.. но думаю тоже адекватно настроить можно
имхо все дело в роутах
и нужно смотреть и понимать — как собирается страница во вьюхах… шаблонизатор какой-то?
Встроенный в фреймворк.
Во всяком случае, я отдельно шаблонизатор не ставил.
Шаблоны убираются из корня или на крайняк к ним блокируется прямой доступ. В корне оставляете только статик обвес и в крайнем случае фронт.
route.php выглядит так:
PHP:
// +———————————————————————- // | Настройки маршрутизации // +———————————————————————- return [ // pathinfo Сепаратист ‘pathinfo_depr’ => «https://php.ru/», // URL -псевдо -статический суффикс ‘url_html_suffix’ => ‘html’, // URL -обычные параметры метода используются для автоматического генерации ‘url_common_param’ => true, // Открыть ли анализ задержки маршрутизации ‘url_lazy_route’ => false, // использовать ли маршрутизацию ‘url_route_must’ => false, // слияние правил маршрутизации ‘route_rule_merge’ => false, // полностью ли соответствует маршрутизации ‘route_complete_match’ => false, // посетите имя слоя контроллера ‘controller_layer’ => ‘controller’, // Имя воздушного контроллера ’empty_controller’ => ‘Error’, // использовать суффикс контроллера ‘controller_suffix’ => false, // правила переменной маршрутизации по умолчанию ‘default_route_pattern’ => ‘[\w\.]+’, // Должно ли включить кэш запроса true поддержка автоматического кэширования, чтобы установить правило кэша запроса ‘request_cache’ => false, // Запрос с периодом достоверности кэширования ‘request_cache_expire’ => null, // Глобальные правила исключения кэша запросов ‘request_cache_except’ => [], // Имя контроллера по умолчанию ‘default_controller’ => ‘Index’, // Имя операции по умолчанию ‘default_action’ => ‘index’, // Суффикс метода работы ‘action_suffix’ => », // метод обработки, возвращаемый форматом JSONP по умолчанию ‘default_jsonp_handler’ => ‘jsonpReturn’, // метод обработки JSONP по умолчанию ‘var_jsonp_handler’ => ‘callback’, ];Перевод комментариев с китайского, машинный.
На Ларке — указываешь в роуте например:
PHP:
Route::get(‘about’, [PageController::class, ‘index’])в контролере PageController в методе index например
PHP:
return view(‘about’, [тут можно передать переменные]);а во вьюхе about.blade.php пишем наш контент, но блейд поддерживает слои, наследования и прочее .. потому можно указать как вьюху — родителя, куда будет данный контент вставляться, секции и прочее полезности
самостоятельно вязть и открыть саму вьюху — например site/…about.blade.php нельзя, так как шаблоны вообще за корнем сайта находятся
— Добавлено —
посмотрите просто документацию к своему фреймфорку … как правильно все делать
Именно так и сделано.
Не я делал, опенсорс.
Шаблоны и контроллеры находятся выше корня.
Как тогда открываются шаблоны напрямую? Фреймворк делает то, что его не просили? Может, он роутинг делает по наличию файлов – это какая-то отсталость. Похоже на движки «на файлах».
Вот эту запись в какой конкретно файл вносите?
Директория файла какая и название файла?
Посмотрите Доку по ларвелю.. Всё описано в разделе маршруты( route)