@JHubbard80: Съгласен съм, аз също бих внедрил StreamReader по различен начин. Това странно поведение наистина ме ухапваше в миналото, тъй като получавах ObjectDisposedExceptions при достъп до потока, който все още не бях изхвърлил след изхвърлянето на StreamReader, който го използва...

person muffinjello    schedule 15.04.2013    source източник
comment
можете ли да публикувате резултат от var_dump($a); преди командата if   -  person Aydin Hassan    schedule 15.04.2013
comment
Свършен! Добавих го към въпроса, @AydinHassan, благодаря!   -  person muffinjello    schedule 15.04.2013
comment
Обърнете внимание на интервала в началото на низа :)   -  person Aydin Hassan    schedule 15.04.2013
comment
@AydinHassan Не, не е така :(   -  person muffinjello    schedule 15.04.2013
comment
@Crisp, как да го направя използваем низ?   -  person muffinjello    schedule 15.04.2013
comment
Значи if(trim($a) == "classpvp") { все още не работи както искате?   -  person Aydin Hassan    schedule 15.04.2013
comment
Не :( За съжаление не е така.   -  person muffinjello    schedule 15.04.2013
comment
последното: if(strpos($a,classpvp) !== false) {   -  person Aydin Hassan    schedule 15.04.2013
comment
Не T_T може ли да има нещо общо с това, че vardump е string(14)?   -  person muffinjello    schedule 15.04.2013


Отговори (1)


използвайте пакета WAyFinder за вашите менюта, той автоматично ще постави правилото „активно“ в атрибута на вашия клас. http://rtfm.modx.com/display/ADDON/Wayfinder, ако искате използвайте нещо различно &hereClass е c=стойността, която искате да посочите във вашето извикване на WayFinder.

АКТУАЛИЗАЦИЯ

ако искате да използвате заглавието на менюто на текущия ресурс във вашия фрагмент, има 2 начина да го направите, предайте го от извикването на фрагмента:

<li class="navTab [[!TabSelectClassPvP? &a='[[*menutitle]]']]">

И вашият фрагмент изглежда така:

<?php
// Defining the variables
// $a="[[*menutitle]]";
// var_dump($a);

if ($a=="classpvp"){
echo "selected";
} else {
echo $a;
}

[вероятно трябва да проверите дали $a е предадено]

или можете да направите заявка към текущата страница директно във вашия фрагмент:

<?php
// Defining the variables
// $a="[[*menutitle]]";
// var_dump($a);

$a = $modx->resource->get('menutitle');

if ($a=="classpvp"){
echo "selected";
} else {
echo $a;
}

Тъй като обектът modx винаги приема „текущия ресурс“, можете да вземете всяко от ресурсните полета o телевизори във вашите фрагменти по този начин.

person Sean Kimball    schedule 15.04.2013
comment
Хм, наистина не разбирам как да използвам WayFinder, имаш ли нещо против да ми дадеш пример за фрагмента, в този случай? :) Благодаря! Със сигурност ще гласувам за теб - person muffinjello; 15.04.2013
comment
Вашето минимално обаждане на пътник е [[Wayfinder? &startId='0']], ако просто поставите това във вашия шаблон, той трябва да изведе [едва] форматирано навигационно меню за вашия сайт. ~ ако ще използвате modx, ще трябва да прочетете и разберете документите на wayfinder, тъй като това е единственият начин за автоматично изграждане на навигационна лента/меню. За щастие wayfinder също е една от най-добре документираните екстри. - person Sean Kimball; 15.04.2013
comment
Хм, благодаря, че ми съобщи. Определено ще направя много изследвания за това, за да видя дали мога да го накарам да работи, ако дойде натиск. Засега ще видя дали мога да накарам моето статично меню да работи добре, тъй като всъщност нямам достатъчно време да науча wayfinder :/ Във всеки случай е време да одобря отговора ви! :) - person muffinjello; 16.04.2013
comment
просто хвърлям бърз поглед на вашия фрагмент, $a=[[*menutitle]]; никога няма да получи предадена стойност за $a ~ трябва да прехвърлите тази стойност във фрагмента от вашето извикване. ‹li class=navTab [[!TabSelectClassPvP? &a='[[*menutitle]]']]› - person Sean Kimball; 16.04.2013
comment
o.o Искате ли да се разширите, още малко? Така че просто щях да имам текущия скрипт на php, но не и да дефинирам стойността за &a (в самото извикване), и когато го поставя така, той правилно ще присвои стойността и ще изпълни израза 'if'? - person muffinjello; 16.04.2013
comment
Знам, че това може да не е подходящо, но... Казвал ли съм ти, че те обичам? Но аз те мамя с твоя отговор. - Благодаря много за помощта! Току-що ми спестихте много разочарование! :) Може би погледнете другия ми въпрос? - person muffinjello; 16.04.2013