[Typo3-shop] to browse categories in FE
Michael Hoppe
michael at hoppefamily.de
Thu Jan 5 16:27:40 CET 2006
Hi,
I have modified the extension 'nsb_cat2menu'.
1. It works now like a 'normal' menu. It shows only the categories in the
rootline. (and the second level)
2. 'lib.nsbcat2menu.special.catList=0' autogenerated the catlist from all
categories in pidlist where parent_category=0
The file 'class.tx_ttproducts_list_view.php' is attached.
Please mail me for any bugs.
--> I could not wait for these features ;-)
Michael Hoppe
"Sami Ben-yahia" <sittinggoat at hotmail.com> schrieb im Newsbeitrag
news:mailman.1.1133873646.22086.typo3-project-tt-products at lists.netfielders.de...
> Hi,
> I just released the first public version of nsb_cat2menu (not so basic
> categories to menu), an extension that displays a category
> table as a FE menu.
> To use it with tt_products/mbi_products_categories there's a slight
> modification to do in class.tx_ttproducts_list_view.php (version
> 2.3.11)
>
> line 89 in the printView method
>
> ...
> $where='';
> //---
> if(isset($this->pibase->piVars['cat'])){
> $where .= 'AND category IN ('.implode(",",t3lib_div::intExplode(',',
> $this->pibase->piVars['cat'])).')';
> }
> //---
> if ($theCode=='SEARCH') {
> ...
>
> a typoscript example :
>
> lib.nsbcat2menu = HMENU
> lib.nsbcat2menu.special = userfunction
> lib.nsbcat2menu.special.userFunc = tx_nsbcat2menu_pi1->main
>
> lib.nsbcat2menu.special.catList=5
> #the uid of my root category, you can have more than one root
> exemple(catList=5,6)
> lib.nsbcat2menu.special.pidlist=4
> #the uid of the storage folder where my categories are
>
> lib.nsbcat2menu.special.catTable=tt_products_cat
> lib.nsbcat2menu.special.parentEntry=parent_category
> lib.nsbcat2menu.special.extTrigger=tx_ttproducts_pi1
> lib.nsbcat2menu.special.varCat=cat
>
> lib.nsbcat2menu.special.recSel = 1
> #if true selecting a parent category selects all childs
>
> lib.nsbcat2menu.1 = TMENU
> lib.nsbcat2menu.1 {
> noBlur = 1
> # Normal state properties
> NO.allWrap = <div class="menu1-no"> | </div>
> NO.stdWrap.htmlSpecialChars = 1
> # Enable active state and set properties:
> ACT = 1
> ACT.stdWrap.htmlSpecialChars = 1
> ACT.allWrap = <div class="menu1-act"> -> | </div>
> }
> lib.nsbcat2menu.2 = TMENU
> lib.nsbcat2menu.2 < lib.nsbcat2menu.1
> lib.nsbcat2menu.3 = TMENU
> lib.nsbcat2menu.3 < lib.nsbcat2menu.1
> lib.nsbcat2menu.4 = TMENU
> lib.nsbcat2menu.4 < lib.nsbcat2menu.1
>
> I'm open to any feedback and suggestions, there is no roadmap but if tou
> look ine the code you'll see planing features.
> It would be great if you can implement this in the tt_products extension
> but there is no hurry (it's still in alpha state)
>
>
> Sami Ben-yahia
begin 666 class.tx_nsbcat2menu_pi1.php
M/#]P:' -"B\J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BH-"BH@($-O<'ER:6=H="!N;W1I
M8V4-"BH-"BH@("AC*2 R,# U(%-A;6D at 0F5N+7EA:&EA("AS:71T:6YG9V]A
M=$!H;W1M86EL+F-O;2D-"BH@($%L;"!R:6=H=',@<F5S97)V960-"BH-"BH@
M(%1H:7,@<V-R:7!T(&ES('!A<G0@;V8@=&AE(%194$\S('!R;VIE8W0N(%1H
M92!465!/,R!P<F]J96-T(&ES#0HJ("!F<F5E('-O9G1W87)E.R!Y;W4 at 8V%N
M(')E9&ES=')I8G5T92!I="!A;F0O;W(@;6]D:69Y#0HJ("!I="!U;F1E<B!T
M:&4@=&5R;7,@;V8@=&AE($=.52!'96YE<F%L(%!U8FQI8R!,:6-E;G-E(&%S
M('!U8FQI<VAE9"!B>0T**B @=&AE($9R964 at 4V]F='=A<F4 at 1F]U;F1A=&EO
M;CL at 96ET:&5R('9E<G-I;VX@,B!O9B!T:&4 at 3&EC96YS92P@;W(-"BH@("AA
M="!Y;W5R(&]P=&EO;BD at 86YY(&QA=&5R('9E<G-I;VXN#0HJ#0HJ("!4:&4@
M1TY5($=E;F5R86P at 4'5B;&EC($QI8V5N<V4 at 8V%N(&)E(&9O=6YD(&%T#0HJ
M("!H='1P.B\O=W=W+F=N=2YO<F<O8V]P>6QE9G0O9W!L+FAT;6PN#0HJ#0HJ
M("!4:&ES('-C<FEP="!I<R!D:7-T<FEB=71E9"!I;B!T:&4@:&]P92!T:&%T
M(&ET('=I;&P at 8F4@=7-E9G5L+ T**B @8G5T(%=)5$A/550 at 04Y9(%=!4E)!
M3E19.R!W:71H;W5T(&5V96X@=&AE(&EM<&QI960@=V%R<F%N='D@;V8-"BH@
M($U%4D-(04Y404))3$E462!O<B!&251.15-3($9/4B!!(%!!4E1)0U5,05(@
M4%524$]312X@(%-E92!T:&4-"BH@($=.52!'96YE<F%L(%!U8FQI8R!,:6-E
M;G-E(&9O<B!M;W)E(&1E=&%I;',N#0HJ#0HJ("!4:&ES(&-O<'ER:6=H="!N
M;W1I8V4 at 35535"!!4%!%05(@:6X at 86QL(&-O<&EE<R!O9B!T:&4@<V-R:7!T
M(0T**BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ+PT*+RHJ#0H@*B!0;'5G:6X@)V-A=#)M
M96YU)R!F;W(@=&AE("=N<V)?8V%T,FUE;G4G(&5X=&5N<VEO;BX-"B J#0H@
M*B! 875T:&]R"5-A;6D at 0F5N+7EA:&EA(#QS:71T:6YG9V]A=$!H;W1M86EL
M+F-O;3X-"B J+PT*(" O+R!M;V1I9FEE9"!B>2!-:6-H865L($AO<'!E(#QM
M:6-H865L0&AO<'!E9F%M:6QY+F1E/@T*#0H-"G)E<75I<F5?;VYC92A0051(
M7W1S;&EB+B=C;&%S<RYT<VQI8E]P:6)A<V4N<&AP)RD[#0H-"F-L87-S('1X
M7VYS8F-A=#)M96YU7W!I,2!E>'1E;F1S('1S;&EB7W!I8F%S92![#0HO+PEV
M87(@)'!R969I>$ED(#T@)W1X7VYS8F-A=#)M96YU7W!I,2<["0DO+R!386UE
M(&%S(&-L87-S(&YA;64@*'5S960@;VYL>2!B>2!P:79A<G,@/RD-"@EV87(@
M)'-C<FEP=%)E;%!A=&@@/2 G<&DQ+V-L87-S+G1X7VYS8F-A=#)M96YU7W!I
M,2YP:' G.PDO+R!0871H('1O('1H:7,@<V-R:7!T(')E;&%T:79E('1O('1H
M92!E>'1E;G-I;VX at 9&ER+ at T*"79A<B D97AT2V5Y(#T@)VYS8E]C870R;65N
M=2<["2\O(%1H92!E>'1E;G-I;VX@:V5Y+ at T*+R]I(&UU<W0@=&AI;FL-"@EV
M87(@)'!I7V-H96-K0TAA<V@@/2!44E5%.PT*"79A<B D:6YT97)N86P@/2!!
M<G)A>2@)"2\O(%5S960@:6YT97)N86QL>2!F;W(@9V5N97)A;"!S=&]R86=E
M(&]F('9A;'5E<R!B971W965N(&UE=&AO9',-"@D))V-A=$%R<B<@/3X at 07)R
M87DH*2P)"2\O0W5R<F5N="!C871E9V]R>2!T86)L92!F<F]M('!I7V=E=$-A
M=&5G;W)Y5&%B;&5#;VYT96YT<PT*"0DG<F5C4V5L4F5G)R ]/B G)PDO+U5S
M960@;VYL>2!I9B!T:&4@<F5C=7)S:79E('-E;&5C="!O<'1I;VX@:7,@;VX@
M*')E8W5R<VEV95-E;&5C=&EO;E)E9VES=')Y*0T*"2D[#0H-"@EF=6YC=&EO
M;B!M86EN*"1C;VYT96YT+"1C;VYF*7L-"@D))'1H:7,M/F-O;F8])&-O;F8[
M#0HO+VD at 9&]N)W0 at 97AP96-T('-I9&4 at 969F96-T<PD-"@D))'1H:7,M/G!R
M969I>$ED(#T@)'1H:7,M/F-O;F9;)V5X=%1R:6=G97(G73L-"@D))&UY7W9A
M<G,@/2 D1TQ/0D%,4ULB5%-&12)=+3YF95]U<V5R+3YG971+97DH)W-E<R<L
M)VYS8E]C870R;65N=2<I.PT*"0DD=&UP06-T(#T@=#-L:6)?9&EV.CI?1T54
M*"1T:&ES+3YP<F5F:7A)9"D[#0H)"21T;7!!8W0@/2!T,VQI8E]D:78Z.FEN
M=$5X<&QO9&4H(BPB+"1T;7!!8W1;)V-A="==*3L-"@D):68H,"E["0D-"B\O
M"0EI9BAI<W-E="@D;7E?=F%R<ULD=&AI<RT^<')E9FEX261=*2E[#0H)"0DD
M;65N=4%R<F%Y/21M>5]V87)S6R1T:&ES+3YP<F5F:7A)9%T[#0H)"0DD=&AI
M<RT^;6%R:T%C=&EV92 at D;65N=4%R<F%Y+"1T;7!!8W0I.PT*"0E]96QS97L-
M"@D)"21T:&ES+3YC;VYF6R=T87)G971)9"==/21T:&ES+3YC;VYF6R=T87)G
M971)9"==/R1T:&ES+3YC;VYF6R=T87)G971)9"==.C [#0H)"0DD=&%B;&4]
M)'1H:7,M/F-O;F9;)V-A=%1A8FQE)UT[#0H)"0DD<&ED/21T:&ES+3YC;VYF
M6R=P:61L:7-T)UT[#0HO+V=E="!T:&4@=VAO;&4 at 875T;W)I>F5D(&-A=&5G
M;W)Y('1A8FQE+"!T:&4@=')E92!W:6QL(&)E(&-O;G-T<G5C=&5D(&QA=&5R
M(&EN('!H<"!W:71H(&UA:V5-96YU07)R87DH)')O;W1,:6YE*0T*"0D))'=H
M97)E0VQA=7-E/2<G.PT*"0D))&]R9&5R0GD])R<[#0H)"0DD;&EM:70])R<[
M#0H)"0DD=&AI<RT^:6YT97)N86Q;)V-A=$%R<B==/21T:&ES+3YP:5]G971#
M871E9V]R>51A8FQE0V]N=&5N=',H)'1A8FQE+"1P:60L)'=H97)E0VQA=7-E
M+"1G<F]U<$)Y+"1O<F1E<D)Y+"1L:6UI="D[#0HO+VUA<FL at 86-T:79E(&9O
M<B!N;R!C;V]K:64 at 8VQI96YT(&-O;F9I9PT*"0D)=VAI;&4H8W5R<F5N="@D
M=&UP06-T*2E[#0H)"0D))'1H:7,M/FEN=&5R;F%L6R=C871!<G(G75MC=7)R
M96YT*"1T;7!!8W0I75LG251%35]35$%412==/2=!0U0G.PT*"0D)"6YE>'0H
M)'1M<$%C="D[#0H)"0E]#0H)"0DD;65N=4%R<F%Y/21T:&ES+3YM86ME365N
M=4%R<F%Y*'0S;&EB7V1I=CHZ:6YT17AP;&]D92 at B+"(L)'1H:7,M/F-O;F9;
M)V-A=$QI<W0G72DI.PT*+R]T:&ES('-E<W-I;VX@<W1O<F%G92!A;&]W<R!D
M:69F97)E;G0@;75L=&EP;&4@:6YS=&%N8V5S(&]N;'D@:68@=&AE('1R:6=G
M97)E9"!E>'1E;G-I;VX@:7, at 9&EF9F5R96YT#0H)"0DD;7E?=F%R<ULD=&AI
M<RT^<')E9FEX261=/21M96YU07)R87D[#0H)"0DD1TQ/0D%,4ULB5%-&12)=
M+3YF95]U<V5R+3YS971+97DH)W-E<R<L)VYS8E]C870R;65N=2<L)&UY7W9A
M<G,I.PT*"0E]#0H)"21R971V87(Q(#T@)'1H:7,M/FQI9VAT96Y-96YU*"1M
M96YU07)R87DI.PT*"0ER971U<FX@)')E='9A<C$[#0H)?0T*+R]U<V5D(&)Y
M('1H92!S97-S:6]N(&UE;G5!<G)A>0D-"@EF=6YC=&EO;B!M87)K06-T:79E
M*"8D;65N=4%R<F%Y+"1A8W1#871!<G(I>PT*"0EW:&EL92AC=7)R96YT*"1A
M8W1#871!<G(I*7L-"@D)"7)E<V5T*"1M96YU07)R87DI.PT*"0D)=VAI;&4@
M*&QI<W0H)&ME>2P@)'9A;"D@/2!E86-H*"1M96YU07)R87DI*2![#0H)"0D)
M:68H8W5R<F5N="@D86-T0V%T07)R*3T])&UE;G5!<G)A>5LD:V5Y75LG=6ED
M)UTI>PT*"0D)"0DD;65N=4%R<F%Y6R1K97E=6R=)5$5-7U-4051%)UT])T%#
M5"<[#0H)"0D)?0T*"0D)"6EF*"1M96YU07)R87E;)&ME>5U;)U]354)?345.
M52==*7L-"@D)"0D))'1H:7,M/FUA<FM!8W1I=F4H)&UE;G5!<G)A>5LD:V5Y
M75LG7U-50E]-14Y5)UTL)&%C=$-A=$%R<BD[#0H)"0D)?0T*"0D)?0T*"0D)
M;F5X="@D86-T0V%T07)R*3L-"@D)?0T*"7T-"B\O8W5R<F5N=&QY('=I;&P@
M9V5T(&%L;"!T:&4 at 8G)A;F-H97, at 9G)O;2!T:&4 at 8V%T96=O<GD@)W)O;W1L
M:6YE)R!N;R!R96-U<G-I=F4@;&5V96P@;W!T:6]N#0H)9G5N8W1I;VX@;6%K
M94UE;G5!<G)A>2 at D<F]O=$QI;F4I>PT*"0DO+V%U=&]D971E8W0 at 8V%T3&ES
M= T*"0EI9B at D<F]O=$QI;F5;,%T@/3T@,"D@>PT*"0D))&D],#L-"@D)"69O
M<F5A8V at H)'1H:7,M/FEN=&5R;F%L6R=C871!<G(G72!A<R D="E[#0H)"0D)
M:68H)'1;)W!A<F5N=%]C871E9V]R>2==(#T]("<P)RD@>PT*"0D)"0DD<F]O
M=$QI;F5;)&E=(#T@)'1;)W5I9"==("L@,#L-"@D)"0D))&DK*SL-"@D)"0E]
M#0H)"2 @?0T*"0E]#0H)"69O<F5A8V at H)')O;W1,:6YE(&%S("1K(#T^("1V
M*7L-"@D)"21M96YU07)R87E;)&M=/21T:&ES+3YI;G1E<FYA;%LG8V%T07)R
M)UU;)'9=.PT*"0D))'1H:7,M/F=E=$AR968H)&UE;G5!<G)A>5LD:UTI.PT*
M"0D))'1H:7,M/FUA:V53=6)-96YU*"1M96YU07)R87E;)&M=+" G,2<I.PT*
M"0E]#0H)"7)E='5R;B D;65N=4%R<F%Y.PT*"7T-"@EF=6YC=&EO;B!M86ME
M4W5B365N=2 at F)&UE;G5!<G)A>2PD86-T*7L-"@D)9F]R96%C:"@D=&AI<RT^
M:6YT97)N86Q;)V-A=$%R<B==(&%S("1V*7L-"@D)"6EF*"1M96YU07)R87E;
M)W5I9"==/3TD=ELD=&AI<RT^8V]N9ELG<&%R96YT16YT<GDG75TI>PT*"0D)
M"21T:&ES+3YG971(<F5F*"1V*3L-"@D)"2 @:68H)'9;251%35]35$%415T@
M/3T@)T%#5"<I('L-"@D)"2 @"21V6U)/3U1,24Y%72 ](%12544[#0H)"0D@
M( DD<F5T(#T@)S$G.PT*"0D)("!]#0H)"0D@(&5L<V4@>PT*"0D)(" @("1R
M970@/2 G,"<["0T*"0D)("!]#0H)"0D))')E=&,@/2 D=&AI<RT^;6%K95-U
M8DUE;G4H)'8L("1R970I.PT*"0D)("!I9B at D<F5T8RD@>PT*"0D)(" ))'9;
M4D]/5$Q)3D5=(#T at 5%)513L-"@D)"2 @?0T*"0D)("!I9B at D<F5T8R!/4B D
M<F5T($]2("@D86-T/3TG,2<I*2![#0H)"0D)(" D;65N=4%R<F%Y6R=?4U5"
M7TU%3E4G75M=/21V.PT*"0D)"7T-"@D)"7T-"@D)?0T*"0ER971U<FX@)')E
M=#L-"@E]#0H)#0H)9G5N8W1I;VX at 9V5T2')E9B at F)&UE;G5!<G)A>2E[#0H)
M"6EF*"1T:&ES+3YC;VYF6R=R96-396PG72E[#0H)"0DD=&AI<RT^:6YT97)N
M86Q;)W)E8U-E;')E9R==/21M96YU07)R87E;)W5I9"==.PT*"0D))'1H:7,M
M/F=E=%)E8TAR968H)&UE;G5!<G)A>2D[#0HO+U1/1$\@=&AI<RT^8V]N9ELG
M=F%R2&%S0TAA<V at G70D)"0T*"0D))&UE;G5!<G)A>5LG7T]615)2241%7TA2
M148G72 ]("1T:&ES+3YP:5]L:6YK5%!?:V5E<%!)=F%R<U]U<FPH87)R87DH
M)'1H:7,M/F-O;F9;)W9A<D-A="==(#T^("1T:&ES+3YI;G1E<FYA;%LG<F5C
M4V5L<F5G)UTI+# L,"PD=&AI<RT^8V]N9ELG=&%R9V5T260G72D[#0H)"7UE
M;'-E>PT*"0D))&UE;G5!<G)A>5LG7T]615)2241%7TA2148G72 ]("1T:&ES
M+3YP:5]L:6YK5%!?:V5E<%!)=F%R<U]U<FPH87)R87DH)'1H:7,M/F-O;F9;
M)W9A<D-A="==(#T^("1M96YU07)R87E;)W5I9"==*2PP+# L)'1H:7,M/F-O
M;F9;)W1A<F=E=$ED)UTI.PT*"0E]#0H)?0T*"69U;F-T:6]N(&=E=%)E8TAR
M968H)&UE;G5!<G)A>2E[#0H)"69O<F5A8V at H)'1H:7,M/FEN=&5R;F%L6R=C
M871!<G(G72!A<R D=BE[#0H)"0EI9B at D;65N=4%R<F%Y6R=U:60G73T])'9;
M)'1H:7,M/F-O;F9;)W!A<F5N=$5N=')Y)UU=*7L-"@D)"0DD=&AI<RT^:6YT
M97)N86Q;)W)E8U-E;')E9R==+CTG+"<N)'9;)W5I9"==.PT*"0D)"21T:&ES
M+3YG971296-(<F5F*"1V*3L-"@D)"7T-"@D)?0T*"7T-"B\O=7-E9"!T;R!A
M=F]I9"!S:61E(&5F9F5C=', at 8GD@<F5M;W9I;F<@=6YE8V5S<V%R>2!K97ES
M#0H)9G5N8W1I;VX@;&EG:'1E;DUE;G4H)&UE;G5!<G)A>2E[#0H)"21R;V]T
M(#T at 1D%,4T4[#0H)"7=H:6QE("AL:7-T*"1K97DL("1V86PI(#T at 96%C:"@D
M;65N=4%R<F%Y*2D@>PT*"0D))&QI9VAT365N=4%R<F%Y6R1K97E=6R=T:71L
M92==/21M96YU07)R87E;)&ME>5U;)W1I=&QE)UT[#0H)"0DD;&EG:'1-96YU
M07)R87E;)&ME>5U;)U]/5D524DE$15](4D5&)UT])&UE;G5!<G)A>5LD:V5Y
M75LG7T]615)2241%7TA2148G73L-"@D)"21L:6=H=$UE;G5!<G)A>5LD:V5Y
M75LG251%35]35$%412==/21M96YU07)R87E;)&ME>5U;)TE414U?4U1!5$4G
M73L-"B @"0EI9B at D;65N=4%R<F%Y6R1K97E=6R=?4U5"7TU%3E4G72E[#0H)
M(" )"21T:&ES+3YL:6=H=&5N4W5B365N=2 at D;&EG:'1-96YU07)R87E;)&ME
M>5U;)U]354)?345.52==+"1M96YU07)R87E;)&ME>5U;)U]354)?345.52==
M*3L-"@D)("!]#0H)"7T-"@D)<F5T=7)N("1L:6=H=$UE;G5!<G)A>3L-"@E]
M#0H)9G5N8W1I;VX@;&EG:'1E;E-U8DUE;G4H)B1L:6=H=$UE;G5!<G)A>2PD
M;65N=4%R<F%Y*7L-"@D)=VAI;&4@*&QI<W0H)&ME>2P@)'9A;"D@/2!E86-H
M*"1M96YU07)R87DI*2![#0H)"0DD;&EG:'1-96YU07)R87E;)&ME>5U;)W1I
M=&QE)UT])&UE;G5!<G)A>5LD:V5Y75LG=&ET;&4G73L-"@D)"21L:6=H=$UE
M;G5!<G)A>5LD:V5Y75LG7T]615)2241%7TA2148G73TD;65N=4%R<F%Y6R1K
M97E=6R=?3U9%4E))1$5?2%)%1B==.PT*"0D))&QI9VAT365N=4%R<F%Y6R1K
M97E=6R=)5$5-7U-4051%)UT])&UE;G5!<G)A>5LD:V5Y75LG251%35]35$%4
M12==.PT*"0D):68H)&UE;G5!<G)A>5LD:V5Y75LG7U-50E]-14Y5)UTI>PT*
M"0D)"21T:&ES+3YL:6=H=&5N4W5B365N=2 at D;&EG:'1-96YU07)R87E;)&ME
M>5U;)U]354)?345.52==+"1M96YU07)R87E;)&ME>5U;)U]354)?345.52==
M*3L-"@D)"7T-"@D)?0T*"7T)#0I]#0H-"@T*#0II9B H9&5F:6YE9"@G5%E0
M3S-?34]$12<I("8F("1465!/,U]#3TY&7U9!4E-;5%E03S-?34]$15U;)UA#
M3$%34R==6R=E>'0O;G-B7V-A=#)M96YU+W!I,2]C;&%S<RYT>%]N<V)C870R
M;65N=5]P:3$N<&AP)UTI"7L-"@EI;F-L=61E7V]N8V4H)%194$\S7T-/3D9?
M5D%24UM465!/,U]-3T1%75LG6$-,05-3)UU;)V5X="]N<V)?8V%T,FUE;G4O
M<&DQ+V-L87-S+G1X7VYS8F-A=#)M96YU7W!I,2YP:' G72D[#0I]#0H-"C\^
`
end
More information about the TYPO3-project-tt-products
mailing list