Страница услуг не подхватывает файл шаблона, почему?

Попался проект на MODX. Встречался с ним пару раз только и не глубоко.
Поясните пожалуйста в какую сторону копать проблему?

Есть лендинг. В нем блок из услуг. При клике на каждую услугу вылазит popup с инфой о ней.
В разделе "контент" в админке есть все 7 услуг.
Для услуг создан .tpl шаблон. Он корректный.

Но по запросу sitename.ru/service-name.html выходят главная страница, а не тот шаблон что в .tpl файле. Почему?

Какие параметры для подхвата .tpl файла возможно пропустил разработчик?

Вот что в основном шаблоне:
[[pdoResources?
					&parents=`[[++ref_services]]`
					&depth=`0`
					&tpl=`serviceListRow`
					&includeTVs=`image`
					&sortby=`menuindex`
					&sortdir=`ASC`
					&limit=`15`
]]


Вот что в чанке:
<div class="col-sm-4 service-box">
						<a class="fancyService fancybox fancybox.ajax" href="[[~[[+id]]]]">
							<div class="thumbnail">
									<img src="[[+tv.image]]" alt="[[+pagetitle]]">
									<div class="gallery-overlay"></div>
							</div>
							<div class="caption">
								<p>[[+pagetitle]]</p>
							</div>
						</a>
					</div>


А вот что в service.tpl:
<div id="ajax-service">
	<div class="col-md-12">
		<h1>[[*pagetitle]]</h1>
	</div>
	<div class="col-md-7">
		[[*content]]
	</div>
	<div class="col-md-5">
		<img src="[[*image]]" width="100%">
	</div>
	<div class="col-md-12 hr"></div>
	<div class="col-md-7">
		<div class="price_title">Стоимость от [[*service_price]]</div>
		<div class="price_body">
			<strong>Оформите заявку и наш<br /> мастер свяжется с вами!</strong>
			<form class="form form-inline flowuplabels" role="form" method="post" id="form-1">
				<input type="hidden" name="title" value="Заявка на услугу '[[*pagetitle]]'">
				<input type="hidden" name="mail" value="mailCallRequest">
				<input type="hidden" name="ajax" value="1">
				<div class="form-group col-lg-4 col-md-12 fl_wrap">
					<label class="fl_label" for="a-name-1">Имя:</label>
					<input type="text" name="user_name" value="" id="a-name-1" class="form-control fl_input" required>
				</div>
					<span class="honeypot form-group col-lg-4 col-md-12 fl_wrap">
						<label class="fl_label" for="a-last-1">Фамилия:</label>
						<input type="text" name="user_last" value="" id="a-last-1" class="form-control fl_input">
					</span>
				<div class="form-group col-lg-4 col-md-12 fl_wrap">
					<label class="fl_label" for="a-phone-1">Телефон:</label>
					<input type="text" name="user_phone" value="" id="a-phone-1" class="form-control fl_input">
				</div>
				<div class="form-group col-lg-4 col-md-12 fl_wrap">
					<label class="fl_label" for="a-email-1">E-mail:</label>
					<input type="text" name="user_mail" value="" id="a-email-1" class="form-control fl_input">
				</div>
				<div class="form-group col-lg-12 text-center">
					<div class="form-sender"><button type="submit" value="Send" class="btn btn-primary btn-block">Отправить заявку</button></div>
					<div class="form-result"><div class="message"></div></div>
				</div>
				<div class="form-group col-xs-12">
					<div class="message">
						<div class="alert"></div>
					</div>
				</div>
			</form>
		</div>
	</div>
	<div class="col-md-5 call">
		Нет времени писать?<br /><strong>Позвоните [[++city_phone]]</strong>
	</div>
	<!--<div class="col-md-12">
		<p>ASAS</p><p>ASAS</p><p>ASAS</p><p>ASAS</p><p>ASAS</p><p>ASAS</p>
	</div>-->
</div>
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
PbI6A_KuT
@PbI6A_KuT Автор вопроса
Нашел причину.
Дело было в файле .htaccess.
Он был чужой.
Вот что должны быть там для MODX Revolution 2:

# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]

RewriteEngine On
RewriteBase /



# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
#RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
#
# or for the opposite domain.com -> www.domain.com use the following
# DO NOT USE BOTH
#
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]



# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]



# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]



# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.

#AddType text/x-component .htc



# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: http://php.net/register_globals
#
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for "register_globals". The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult www.php.net for more detailed
# information about setting PHP directives.

#php_flag register_globals Off



# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.

#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5



# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.

#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
an-tar
@an-tar Куратор тега MODX
Full stack web developer
Самое простое, что приходит на ум, когда вместо какой-то страницы вылезает главная -проблема адресации, по правильному ли адресу обращаетесь, не настроена ли главная страница в системных настойках(или настройках контекста) как 404 страница? Также отдает ли страница 200 код ответа(а может там 301/302 или что-то еще)? Если так, посмотрите, не настроены ли какие-либо редиректы для веб-сервера, возможно установлен какой-то компонент для редиректов или какой-то плагин/сниппет перехватывает обращение к данной странице?
Для услуг создан .tpl шаблон. Он корректный.

Т.е. он физически существует(файл), сам шаблон его инклюдит, название шаблона указано в поле "Шаблон" для ваших услуг и сами услуги суть документы, а не,скажем,ссылки?

Также полезно заглянуть в Журнал, нет ли там ошибок?В консоль браузера, что там?!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы