<![CDATA[ Про дружественные URL - My Forums]]> https://forums.modx.com/thread/?thread=60113 <![CDATA[Re: OOOOPs!!!!]]> https://forums.modx.com/thread/60113/url?page=2#dis-post-349202 Quote from: openagate at Aug 13, 2006, 07:35 PM

то, что выше, тож полезно!

но причина в другом. документы должны быть опубликованы. такая абракадабра в адресной строке в новой цмске появляется только в том случае, если пытаешься прогрузить "несуществующую" страницу, но при условии, что она в базе есть, значит -- published = 0;
скорее всего в настройках стоИт не публиковать документы по умолчанию, и ссылки в дереве имеют красно-коричневый цвет. необходимо либо в настройках сайта выставить публикацию по умолчанию, либо ручками при редактировании документа, на второй вкладке, поставить галочку, либо правой кнопокй мыши по документу в дереве и вторая ссылка снизу... обычно.
Доброго времени!
Спасибо Yentsun и Opengate за ответы! Большое!
Пошел сверху вниз по ним, и дошел до публикации документов - ошибка была в этом!!!
Документы не были опубликованы, поэтому при обращении к ним меня выкидывало на главную страницу (она у меня стояла как страница ошибки).
Про публикацию документов, чесно, не имел понятия...
Иду дальше по вашим ответам, явно для себя новое найду )))
Сам сайт пока не показываю - еще он сырой, пока.
Намасте!]]>
Alexey Aug 14, 2006, 01:42 AM https://forums.modx.com/thread/60113/url?page=2#dis-post-349202
<![CDATA[Re: &#1055;&#1088;&#1086; &#1076;&#1088;&#1091;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1077; URL]]> https://forums.modx.com/thread/60113/url#dis-post-349201
каюсь, я выдрал этот кусок из друго сниппета, там использовались все поля...

есчо немного ликбеза для новичков:

$link = $etomite->getDocument($pid,’pagetitle, longtitle, description, menutitle, introtext, alias’);

echo $link[’introtext’]; -- выводим интротекст, к примеру, не знаю, как его по-русски обозвали
echo $link[’alias’]; -- выводим алиас, то есть contact, например... и т.д. и т.п.

если надо вывод подоформить, то делаем так:

$output = "<h1>".$link[’pagetitle’]."</h2>";
echo $output;

и главный Ахтунг, всётки, ни в коем случае не указывать в качестве ошибочной страницы ту, которая по умолчанию, с ID=1, если это входная, а сайт новый, то дальше входа поисковики не пойдут!

UPD:

не злись, yentsun:) я писал поступательно, как только у меня появлялись мысли, после того, как я ковырялся в машинке. я знаю, что если в топике появляется новый ответ, то на почту падает извещение, если в Additional Options... стоит галочка напротив Notify me of replies. я не уверен, что извещение падает каждый раз, как модифицируется ответ. поэтому, допуская, что Алексей мог оперативно среагировать на измения в топике, мало ли, может, ему срочно, я и не стал делать апдейт своего поста. надеюсь, я смог помочь человеку, так же, как мне в своё время помогли, к примеру, в англоязычной части форума, отвечая на мои, казалось бы, бестолковые вопросы.]]>
openagate Aug 13, 2006, 04:55 PM https://forums.modx.com/thread/60113/url#dis-post-349201
<![CDATA[Re: &#1055;&#1088;&#1086; &#1076;&#1088;&#1091;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1077; URL]]> https://forums.modx.com/thread/60113/url#dis-post-349200
getDocument($pid,'pagetitle, longtitle, description, menutitle');

поля description и menutitle не используются в сниппете (это подсказка для крутых оптимизаторов специально).

и еще - если уж ты решил ответить по теме - ради бога, ответь в одном посте и последовательно. этот вот роман который выше, можно было свести к одному маленькому посту со списком того, что нужно человеку проверить для решения проблемы. мне лично читать было весьма тяжело.

Спасибо.]]>
yentsun Aug 13, 2006, 04:38 PM https://forums.modx.com/thread/60113/url#dis-post-349200
<![CDATA[&#1040;&#1093;&#1090;&#1091;&#1085;&#1075;!!!]]> https://forums.modx.com/thread/60113/url#dis-post-349199
если при ошибочном запросе выводится заглавная страница, значит, в системных настройках сайта, в конфигурации сайта, в качестве "ошибочной" страницы она и указана, её id . Надо сделать под ошибку отдельную страницу, так как для страницы с 404 error машинка выдаёт 404-ый статус в header’е, и поисковики считают, что такой страницы не существует, они её не индексируют, по ссылкам с неё не переходят!]]>
openagate Aug 13, 2006, 04:10 PM https://forums.modx.com/thread/60113/url#dis-post-349199
<![CDATA[&#1085;&#1091;, &#1080; &#1077;&#1097;&#1105; &#1083;&#1080;&#1082;&#1073;&#1077;&#1079;]]> https://forums.modx.com/thread/60113/url#dis-post-349198
$pid = $id;
$link = $etomite->getDocument($pid,'pagetitle, longtitle, description, menutitle');
$tol = (!isset($tol)) ? $link['pagetitle'] : "$tol";
$output = '<a href="[~'.$pid.'~]" title="'.$link['longtitle'].'">'.$tol.'</a>';
return $output;


в результате выведется ссылка с текстом, содержащемся в заголовке страницы. если этот текст не устраивает, можно подправить строчку типа $tol = (!isset($tol)) ? $link[’longtitle’] : "$tol";, либо вставить сниппет со следующими параметрами [[GetLink?id=n&tol=`да любая херня из башки:)`]]
` -- это ё в английской раскладке, лучше не использовать спецсимволы в t(ext)o(f)l(link), особенно ; ? $ "

да, сниппет создать, назвать GetLink

или совсем просто: <a href=’[~id~]’>да любая херня из башки</a> -- парсер сам заменит id на адрес страницы, id -- это всё тот же индекс страницы в базе, каждая страница имеет свой уникальный id и он никогда не меняется, и нет необходимости править адрес вручную, даж если документ был перемещён, ссылка на него изменится автоматом.

MODxCMS для того и создавалась, чтоб с лёгкостью админить динамические сайты и сводить к минимуму ручную работу, пусть даже и проставление ссылок на документы.

если есть необходимость, то можно вставить ещё такой кусочек в сниппет:

$pid = $id;
$link = $etomite->getDocument($pid,'pagetitle, longtitle, description, menutitle');
$tol = (!isset($tol)) ? $link['pagetitle'] : "$tol";

if ($pid == $modx->documentIdentifier) {
$output = '<strong id="link_'.$pid.'">'.$tol.'</strong>';
}
else {
$output = '<a href="[~'.$pid.'~]" title="'.$link['longtitle'].'"  id="link_'.$pid.'">'.$tol.'</a>';
}
return $output;


если id в ссылке совпадает с id страницы, на которой прогружен GetLink, то выводится не ссылка на самое себя, а текст ссылки, но жирным, чтоб всё было грамотно:) . саму же ссылку можно офрмить через css, указав стили для #link_..., вплоть до указания фона в виде конвертика, если ссылка на контакты:) но надо помнить, что, если на странице будет присутствовать по тем или иным причинам две ссылки с одним и тем же id="link_...", валидатор будет ругаться, тогда id надо заменить на class]]>
openagate Aug 13, 2006, 02:56 PM https://forums.modx.com/thread/60113/url#dis-post-349198
<![CDATA[OOOOPs!!!!]]> https://forums.modx.com/thread/60113/url#dis-post-349197
но причина в другом. документы должны быть опубликованы. такая абракадабра в адресной строке в новой цмске появляется только в том случае, если пытаешься прогрузить "несуществующую" страницу, но при условии, что она в базе есть, значит -- published = 0;

скорее всего в настройках стоИт не публиковать документы по умолчанию, и ссылки в дереве имеют красно-коричневый цвет. необходимо либо в настройках сайта выставить публикацию по умолчанию, либо ручками при редактировании документа, на второй вкладке, поставить галочку, либо правой кнопокй мыши по документу в дереве и вторая ссылка снизу... обычно.
]]>
openagate Aug 13, 2006, 02:35 PM https://forums.modx.com/thread/60113/url#dis-post-349197
<![CDATA[Re: &#1055;&#1088;&#1086; &#1076;&#1088;&#1091;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1077; URL]]> https://forums.modx.com/thread/60113/url#dis-post-349196
префикс убрать! grin что такое "вложенные урлы", понятия не имею:) у меня аглийцкая версия, в ней такого нет:) может, и стоит галочку поставить. но, по-любому, судя по всему, машинка урлы на выводе переделала, но вот через index.php они не протаскиваются, так что смотри нижнюю строчку в моём .httaccess

вдруг поможет, вот что у меня в .httaccess

php_flag zlib.output_compression On
php_value zlib.output_compression_level 5

RewriteEngine On
RewriteBase /

...вот эту хрень (ниже) я от того сделал, что у меня суффикс -- /, 
ну, и чтоб без www сайт отображался при всех раскладах, и чтоб зеркал не было (это для Яндекса)

RewriteCond %{HTTP_HOST} !^jurist-info.ru$
RewriteRule ^ http://jurist-info.ru%{REQUEST_URI} [R=301,L]
RewriteRule ^index/ http://jurist-info.ru/ [R=301,L]     

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
]]>
openagate Aug 13, 2006, 01:30 PM https://forums.modx.com/thread/60113/url#dis-post-349196
<![CDATA[Re: &#1055;&#1088;&#1086; &#1076;&#1088;&#1091;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1077; URL]]> https://forums.modx.com/thread/60113/url#dis-post-349195 если не хотете огласки - в личном сообщении.
]]>
yentsun Aug 13, 2006, 12:54 PM https://forums.modx.com/thread/60113/url#dis-post-349195
<![CDATA[Re: &#1055;&#1088;&#1086; &#1076;&#1088;&#1091;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1077; URL]]> https://forums.modx.com/thread/60113/url#dis-post-349194 Alexey Aug 13, 2006, 12:02 PM https://forums.modx.com/thread/60113/url#dis-post-349194 <![CDATA[Re: &#1055;&#1088;&#1086; &#1076;&#1088;&#1091;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1077; URL]]> https://forums.modx.com/thread/60113/url#dis-post-349193
Префикс для дружественных URL: /
это зачем такой префикс?:) Понимаю суффикс такой - да. А префикс будет давать ссылки вида:
http://my_site.ru//page.html - что совершенно неправильно.]]>
yentsun Aug 13, 2006, 11:46 AM https://forums.modx.com/thread/60113/url#dis-post-349193