Id новостей только указанных категорий
Приветь! Нужен решения для вывода id текущего документа только для указанных категорий. Хотел сделать разные титле для новостей.
Приветь! Нужен решения для вывода id текущего документа только для указанных категорий. Хотел сделать разные титле для новостей.
LowContext
Можете показать пример
Примеров может быть куча, но у каждого своя реализация проекта. Элементарно какая версия MODX-а? Используется modxSmarty или нет и т.д. и т.п. Но ваш вопрос - это вообще простейшие основы MODX-а. Если такие вопросы вас толкают на то, чтобы писать топики, что вы дальше будете делать? Изучайте основы php и MODX.
P.S. простейший пример:
if(in_array($modx->resource->parent, array(2,5,8,15,))){
// ........
}
Прежде чем задавать вопрос я ищу варианты. Вот мой код
$id = $modx->resource->get('id');
$ids = $modx->getChildIds($id,2);
if ($id == $sitesatrt) {
return 'yes';
}
elseif(!empty($ids)) {
return 'no'
}
:D
Во-первых, вы спрашивали про вывод id в определенных категориях, а значит вам родители нужны, а не дочерние документы. Во-вторых, ваш код совсем не оптимальный, ведь если sitesatrt, то дальше вообще все не важно, и нафига вообще тогда перебирать дочерние документы. Более правильно так:
$id = $modx->resource->get('id');
if ($id == $sitesatrt){
return 'yes';
}
// else
if($ids = $modx->getChildIds($id,2)){
return 'no';
}
// some return?
Наверно я не могу ясно сказать что мне нужен. Тематика сайта спортивный ест 4 категорий 1 Превью к матчу 2 Предматчевая пресс-конференция 3 Послематчевая пресс-конференция 4 Цифры и факты Когда заполнял у всех бил одинаковые title после seo анализа ошибки били 30 что Примеру
[[*id:is=`[[++site_start]]`:then=`[[++site_name:htmlent]]`:else=`[[*pagetitle]] / [[++site_name]]`]]
Потом решил сделать разные титле для каждой дочерних новостей категории Примеру
[[!If?
&subject=`1,2,3,4`
&operator=`inarray`
&operand=`1,2,3,4`
&then=`to`
&else=`neto`
]]
Код работал только для указанных категориях после этого сформулировал свой код но он работал. Ваш пример работает с кодом
[[!If?
&subject=`[[!title]]`
&operator=`empty`
&operand=`[[!title]]`
&then=`neto`
&else=`to`
]]
Спасибо
Не знаю, может кто и подскажет со всякими этими модификаторами и т.п., но мы давно уже такие технологии не практикуем и не пропагандируем. Это все устаревшее и не эффективное. А &operator=inarray`` вообще вряд ли пройдет.
Мы работаем с phpTemplates и modxSmarty.
phpTemplates и modxSmarty для меня тёмный лес. Пока я новичок
А вот это думаете легче?
[[!If? &subject=
[[!title]]&operator=empty&operand=[[!title]]&then=neto&else=to]]
Но каждый выбирает для себя свою дорогу сам.
Николай.
Читаю комменты, смотрю решения, что приводят люди, смотрю те вопросы, которые задаются и решил написать свое мнение по некоторым вещам.
Раз люди комментируют твой модуль - значит он действительно интересен и есть смысл его использовать.
Если люди задают вопросы - значит есть непонятные вещи и может быть можно подумать и начать серию уроков по modxSmarty и phpTemplates? Хотя бы совершенно базовые основы. Ведь не боги же горшки обжигают... Все хотят что-то сделать. Разница лишь в том, что кто-то хочет брать, копипастить и не развиваться. А кому-то твои уроки по этим базовым вещам могут очень даже помочь в развитии.
Ну и крайнее. Если есть площадка, где люди пишут и делятся своими трудностями, а ты дал такую возможность на сайте - хотелось бы не видеть в ответах раздражительность и негодование тем, что кто-то не понимает простые вещи.
Извиняюсь, но всем мил не будешь. И я не буду пытаться быть для всех милым. Да, площадка открытая, и сюда может попасть любой. Но это не означает, что здесь всем рады и готовы отвечать на любые вопросы. Извиняюсь за прямоту, но это так. Для простых вопросов начального уровня, и тем более по старым технологиям - это на modx.im или типа того.
Уточню еще раз: мы учим самым основам. Основы != Простое. Основы - это xPDO и т.п., это то, что освоив, программист потом может многое сделать сам. Я не учу как вывести id, потом как вывести content, потом как вывести pagetitle и т.п. (в modResource довольно много полей). Я учу как выводить параметры объектов в принципе. Я не учу передаваемым параметрам типа &operator=empty, &operand=[[!title]], потому что модулей к MODX-у полно, и у каждого свои параметры. Я учу формировать xPDO-запросы, потому что это основа, и это раз и навсегда.
Резюме: на этом сайте очень много учебного материала, но мало кто его читает и осваивает. Вместо этого приходят с одними и теми же вопросами (не всегда, но часто). Поэтому писать еще больше отдельного, в какой-то особенной форме учебного материала - нет смысла. Во-первых, читать от этого больше не станут, а во-вторых, очень много индивидуальных ситуаций, так что формат вопрос-ответ - он часто практичней получается.
И ещё: я не раз говорил, что у Ильи очень хорошие уроки по xPDO, но и их что-то народ не особо читает. Замечены единицы тех, кто в xPDO боле менее ориентируется.
И, лучше такие темы отдельными топиками поднимать, а то много оффтопа сейчас будет.
Согласен. Я согласен, что материала полно. Но, как уже и говорил выше, люди часто хотят готовые решения. Скопировал - вставил. Все! И Это НЕПРАВИЛЬНО!!! Смысла в этом никакого. Так что я с тобой полностью солидарен. Но, тем не менее, какого-то учебного материала по modxsmarty, оформленного в удобном виде - все-таки не хватает. Да и поиска по сайту я как-то не вижу И еще, по поводу Ильи. Тут тоже все правильно. И, кстати говоря, терпения отвечать на простые вопросы, у него с избытком :) Спасибо и ему, и тебе, и вашей команде.
Но, тем не менее, какого-то учебного материала по modxsmarty, оформленного в удобном виде - все-таки не хватает.
По modxSmarty материала и не должно быть, потому что это Smarty, а по Smarty полно инфы на оффсайте, даже на русском.
Все! И Это НЕПРАВИЛЬНО!!! Смысла в этом никакого.
Это не неправильно, а как есть, и это надо понимать. Я с этим не борюсь, я просто в этом не участвую, вот и все. Кто хочет копипастить - пусть этим занимаются, но площадки для общения им лучше другие выбирать.
Не за что.