CSS ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΌΠ΅Π½Ρ — Π ΡΡΡΠΊΠΈΠ΅ ΠΠ»ΠΎΠ³ΠΈ
ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅Π»Π°Π΅Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ΅Π½Ρ Β«ΠΡΡΠΊΒ» ΠΎΠΊΠ½Π°. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Π°Π»ΡΠ±ΠΎΠΌΠ° CSS, Π½ΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ ΡΡΡΠ΅ΠΊΡΠ° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ.
<ul>
<li>
<a href="http://www.cnblogs.com/rubylouvre/">
ΠΠ΅Π½Ρ 1 <! - ΠΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-> <span> <! - ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-> </ span>
</a>
</li>
<li>
<a href="http://www.cnblogs.com/rubylouvre/">
ΠΠ΅Π½Ρ 2 <! - Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-> <span> <! - Π£Π²Π΅Π»ΠΈΡΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-> </ span>
</a>
</li>
<li>
<a href="http://www.cnblogs.com/rubylouvre/">
ΠΠ΅Π½Ρ ΡΡΠΈ <! - ΠΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°-> <span> <! - ΠΠΎΠ»ΡΡΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°-> </ span>
</a>
</li>
<li>
<a href="http://www.
cnblogs.com/rubylouvre/">
ΠΠ΅Π½Ρ 4 <! - ΠΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-> <span> <! - ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-> </ span>
</a>
</li>
</ul>
Π‘ΡΡΡΠΊΡΡΡΠ° Π·Π½Π°ΠΊΠΎΠΌΠ°, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π±ΡΠ»Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ. Π― ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΎΡΠΌΠ΅ΡΠΈΠ». ΠΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ.
* {
margin:0;
padding:0;
}
.menu {
font-size:12px;
}
.menu li {/ * Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ * /
float:left;
list-style:none;
}
.menu a {
display:block;
position:relative;
height:32px;
width:100px;
line-height:32px;
background:#a9ea00;
color:#ff8040;
text-decoration:none;
text-align:center;
}
.menu a:hover {
background:#369;
color:#fff;
}
.menu li span {
display:none;
position:absolute;
left:0;
top:32px;
width:200px;
height:150px;
background:#B9D6FF;
}
.menu a:hover span {
display:block;
}
ΠΠ΄Π΅ΡΡ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌ. ΠΠ΅ΡΡ
ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ (ΡΠ»Π΅ΠΌΠ΅Π½Ρ span) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π²Π΅ΡΡ
Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° a, Π΅ΡΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉΡΡ Π±Π»ΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ li, ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π²Π΅ΡΠ½ΠΎ.
ΠΠΎΠ³Π΄Π° Π²Π΅ΡΡ
Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π±ΠΎΠ»ΡΡΠ΅ 32 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 40 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π²Π΅ΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: hover, ΡΠ»Π΅ΠΌΠ΅Π½Ρ span ΡΠ½ΠΎΠ²Π° ΡΠΊΡΡΡ.
.menu li span {
display:none;
position:absolute;
left:0;
top: 40px; / * β
β
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π΄Π΅ΡΡ β
β
* /
width:200px;
height:150px;
background:#B9D6FF;
}
ΠΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° Π΄Π»Ρ IE6, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π½Π΅ ΠΈΡΡΠ΅Π·Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡ hover — ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠΈΠ»Ρ Π΄Π»Ρ Π΅Π³ΠΎ Π΄Π΅ΡΠ΅ΠΉ ΠΈ Π²Π½ΡΠΊΠΎΠ² ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡΡΠΈ, Π° Π΄ΡΡΠ³ΠΎΠΉ — ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡΡΠΊΠΈ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² IE6 (ΠΊΡΠΎΠΌΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° img). Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π₯ΠΎΡΠΎΡΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π²Π΅ΡΡ CSS, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΏΡΠΎΠ»Π΅ΡΠΎΠΌ, ΠΈ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° Π² ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΌ ΡΠ»ΠΎΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
<ul> <li> <a href="http://www.cnblogs.com/rubylouvre/"> menu_11 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li> <li> <a href="http://www.cnblogs.com/rubylouvre/"> menu_12 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li> </ul>
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ, ΠΈ ΠΎΠ½ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»Π°Π±ΡΠΌ. ΠΡΠΎΡΠΈΡΠ½ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ IE6 ΠΈ Opera10 ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΌΡ Π½Π΅ ΠΎΡΠΈΡΡΠΈΠ»ΠΈ ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ? ΠΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ firefox3.5, chrome ΠΈ safari4 ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, Π½ΠΎ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π²ΡΡΠ΅ … ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ IE8 ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π»ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΡΠΎΡ ΡΠ°Π·. Π― Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» IE7, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π» Π΅Π³ΠΎ.
ΠΡ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΡΠΈΠ»Ρ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ li, ΡΡΠΎΠ±Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΈΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ.
* {
margin:0;
padding:0;
}
.menu {
font-size:12px;
}
.menu li {/ * Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ * /
float:left;
list-style:none;
ΠΏΠΎΠ·ΠΈΡΠΈΡ: ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ; / * ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠ° li * /
}
.menu a {
display:block;
/ * ΠΏΠΎΠ·ΠΈΡΠΈΡ: ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ; Π½Π°ΠΉΠ΄Π΅Π½Π° Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ a,
ΠΡΠΎ ΡΠΆΠ°ΡΠ½ΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅,
ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ°Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ ΡΠΈΡΡΠΎΠ³ΠΎ Π°Π»ΡΠ±ΠΎΠΌΠ° CSS 3 Π² chrome * /
height:32px;
width:100px;
line-height:32px;
background:#a9ea00;
color:#ff8040;
text-decoration:none;
text-align:center;
}
.
menu a:hover {
background:#369;
color:#fff;
}
/ * ΠΠΎΠ²Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΌΠ΅Π½Ρ * /
.menu ul ul {
Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ: ΡΠΊΡΡΡΠΎ; / * ΡΠΊΡΡΡΠΎ Π² Π½Π°ΡΠ°Π»Π΅ * /
position:absolute;
left:0px;
top:32px;
}
.menu ul a:hover ul{
visibility:visible;
}
.menu ul ul li {
ΡΡΠ½ΠΎ: ΠΎΠ±Π°; / * ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ * /
text-align:left;
}
Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π² Firefox, Safari ΠΈ Chrome. Opera10 ΠΏΠΎΠΊΠ°Π·Π°Π»Π° Π»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π·Π°ΡΠ΅ΠΌ IE8. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡ hover. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ IE6, ΡΠ»Π΅ΠΌΠ΅Π½Ρ a Ρ href Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ. ΠΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° CSS:
.menu ul li: hover ul, / * Π½Π΅-IE6 * /
.menu ul a:hover ul{/*IE6*/
visibility:visible;
}
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ li. Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ li Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅ΡΠΌΠΎΡΡΠ°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠΎΠ΄Π°ΠΌ, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ² Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²Π½Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° a, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ li: hover Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΈΠ»Π΅ΠΉ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<div>
<ul>
<li>
<a href="http://www.cnblogs.com/rubylouvre/"> ΠΠ΅Π½Ρ 1 </a>
<ul>
<li> <a href="http://www.cnblogs.com/rubylouvre/"> menu_11 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li>
<li> <a href="http://www.cnblogs.com/rubylouvre/"> menu_12 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li>
</ul>
</li>
<li>
<a href="http://www.cnblogs.com/rubylouvre/"> ΠΠ΅Π½Ρ II </a>
<ul>
<li> <a href="http://www.cnblogs.com/rubylouvre/"> Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ_21 </a> </ li>
<li> <a href="http://www.cnblogs.com/rubylouvre/"> menu_22 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li>
</ul>
</li>
<li>
// *************** Π‘Π»Π΅Π³ΠΊΠ° ************
</li>
<li>
// *************** Π‘Π»Π΅Π³ΠΊΠ° ************
</li>
</ul>
</div>
ΠΠ΄Π΅ΡΡ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ²ΠΎΡ Π³ΡΡΠΏΠΏΡ ΠΏΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌ: 784783012, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π― ΡΠΎΠ±ΡΠ°Π» 2018 ΡΠ°ΠΌΡΡ ΠΏΠΎΠ»Π½ΡΡ ΡΡΠ΅Π±Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΡ ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ HTML + CSS + JS [ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΠΏΠ΅ΡΡΡΡΠ΅ΠΊΡΡ, ΠΈΠ³ΡΡ, ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°] Π΄ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠΎΠ΅ΠΊΡ HTML5 Π²ΡΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΡΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΎΡΠ΅Ρ ΠΈΠ·ΡΡΠ°ΡΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ, ΠΈΠ»ΠΈ ΡΡΡΠ΄Π΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ°, ΠΈ ΡΠ΅, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ΅, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅:ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ
ΠΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΌΠ΅Π½Ρ
- ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
- ΠΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ°
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π· (ΠΈ Π±ΠΎΠ»Π΅Π΅)
- ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
- ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°
- ΠΠ΄ΠΈΠ½ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ°
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π· (ΠΈ Π±ΠΎΠ»Π΅Π΅)
- Π€ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ
- ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
- ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΡΠ½ΡΡΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
- Π Π°Π·Π²Π΅ΡΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ
- ΠΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠ΅Π½Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΡ ΡΠΎΠΏΠΈΠΊΠ° Β«ΠΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ°Β» ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ, ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ², ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° XSLT Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΠ°.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ «ΠΊΠ°ΡΡΡ ΡΠ°ΠΉΡΠ°» β ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡ, ΠΎΡΡΠ°ΠΆΠ°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅ (ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ ΠΌΠ΅Π½Ρ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅Π½Ρ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ½ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π² ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ°ΠΉΡΠ° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ:
-
ΡΡΡΠ°Π½ΠΈΡΠ° 1
-
ΡΡΡΠ°Π½ΠΈΡΠ° 1.1
-
ΡΡΡΠ°Π½ΠΈΡΠ° 1.2
-
ΡΡΡΠ°Π½ΠΈΡΠ° 1.3
-
ΡΡΡΠ°Π½ΠΈΡΠ° 1.3.1
-
-
-
ΡΡΡΠ°Π½ΠΈΡΠ° 2 -
ΡΡΡΠ°Π½ΠΈΡΠ° 3
Π’ΠΎ Π² HTML-ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³Π° <a> ΠΎΠΏΡΡΠ΅Π½ΠΎ):
<ul>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 1</a>
<ul>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 1.
1</a>
</li>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 1.2</a>
</li>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 1.3</a>
<ul>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 1.3</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 2</a>
</li>
<li>
<a>ΡΡΡΠ°Π½ΠΈΡΠ° 3</a>
</li>
</ul>Π‘ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΠΌΡΡ Π½Π° Π·Π°Π΄Π°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, Π° Π²ΠΎΠΏΡΠΎΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ CSS ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² ΡΠΎΠΏΠΈΠΊΠ΅ Β«ΠΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ°Β».
ΠΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π½Π΅ Π»ΠΈΡΠ΅Π½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π΄Π°Π»Π΅Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΡ XSLT-ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΠ°.
ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ· ΡΠΎΠΏΠΈΠΊΠ° Β«ΠΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ°Β» Π²ΡΠ²ΠΎΠ΄ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ.
ΠΠ· Π·Π°Π΄Π°ΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΎ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° <li></li> Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ <ul></ul>, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
</li>
</xsl:template>ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΡΡΡΠ°Π½ΠΈΡ (ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ
Π² ΠΌΠ΅Π½Ρ) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ %content menu()% Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
ΠΊΠ°ΠΊ Π°ΡΡΠΈΠ±ΡΡ id ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° item (ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π°ΡΡΠΈΠ±ΡΡ link, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π² ΡΡΡΠ»ΠΊΡ).
ΠΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠ½Π΅Ρ ΠΌΠ°ΠΊΡΠΎΡ, ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ Π½Π°ΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ apply-templates, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² β ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ document(), Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΠ°ΠΊΡΠΎΡΠ° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ β ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ concat():
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/', @id))/udata"/>
</li>
</xsl:template>
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ΅Π·ΠΎΠ½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π½Π°ΠΌ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΡΠΎΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ mode=»menu-level2″, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ?
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ: ΠΠΠ’.
ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ β ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ°Π±Π»ΠΎΠ½, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ° %content menu()%:
<xsl:template match="udata[@module = 'content'][@method = 'menu']">
<ul>
<xsl:apply-templates select="items/item" mode="menu"/>
</ul>
</xsl:template>ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΆΠ΅ ΠΈ ΡΠ°ΠΊ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ: Π±Π΅ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° udata Ρ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ module = 'content' ΠΈ method = 'menu', Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π³ΠΈ <ul></ul> ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ item, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΠΌΠ΅ΠΆΠ΄Ρ <ul></ul>.
ΠΡΠ΅ ΡΠ°Π· ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΡΡΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅: ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΡΠ΄Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ apply-templates, ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ ΠΈΡΠ΅Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ
Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ match="udata[@module = 'content'][@method = 'menu'] ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ°ΠΊΡΠΎΡΠ°.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ item ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ <xsl:apply-templates select="items/item" mode="menu"/> ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΠΈΡ
Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π²ΡΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ (Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π²ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ°):
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/', @id))/udata[items/item]"/>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/', @id))/udata[items/item]"/>
</li>
</xsl:template>
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π· (ΠΈ Π±ΠΎΠ»Π΅Π΅)
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
ΠΌΡ ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ°ΠΊΡΠΎΡ %content menu()% ΠΈ ΡΠ½ΠΎΠ²Π° Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½Π° ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΠΏΠΎΠΊΠ° Ρ Π½Π°Ρ Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠ΅ΠΉ «ΠΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π² ΠΌΠ΅Π½Ρ». Π¨Π°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, «ΡΠ°Π·Π²Π΅ΡΠ½Π΅Ρ» Π²ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΠΌΠ΅Π½Ρ, ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ Π΅Π³ΠΎ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ.
Π£ΡΠΎΡΠ½ΡΡΡΠ΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ [items/item] Π² select Π΄Π»Ρ apply-templates, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ udata ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ item (ΡΠΎ Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΡΡΠ°Π½ΠΈΡΡ).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ±Π΅ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΠ· <xsl:template match="item" mode="menu">, ΡΠΎ ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΡΠ½ΠΊΡΠΎΠ².
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
Π ΠΈΡΠΎΠ³Π΅, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π²ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8" method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head></head>
<body>
<div>
<xsl:apply-templates select="document('udata://content/menu/')/udata"/>
</div>
<div>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="udata[@module = 'content'][@method = 'menu']">
<ul>
<xsl:apply-templates select="items/item" mode="menu"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/', @id))/udata[items/item]"/>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/', @id))/udata[items/item]"/>
</li>
</xsl:template>
</xsl:stylesheet>
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°
ΠΠ°ΠΊ Π½Π΅ΡΡΡΠ΄Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·.
Π ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ β ΡΠ΅ΠΌ ΡΠ°ΡΠ΅. ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ°ΠΊΡΠΎΡΠ° %content menu()% Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΡ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ
Π² ΠΌΠ΅Π½Ρ.
ΠΠ΄ΠΈΠ½ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ°
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ²Π΅Ρ ΠΌΠ°ΠΊΡΠΎΡΠ° %content menu()%, Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ max_depth ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ. ΠΠ°Π΄Π°Π΄ΠΈΠΌ max_depth = 3.
ΠΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ°: udatΠ°://content/menu/0/3 (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ Π² URL: http://Π²Π°Ρ_ΡΠ°ΠΉΡ/udata/content/menu/0/3)
ΠΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ ΠΌΠ°ΠΊΡΠΎΡΠ° (ΠΏΡΡΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π²ΡΡΠ°Π²Π»Π΅Π½Ρ Π΄Π»Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ):
<udata module="content" method="menu" generation-time="0.035795">
<items>
<item link="/page1/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 1" xlink:href="upage://94">
<items>
<item link="/page11/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 1.1" xlink:href="upage://105">ΡΡΡΠ°Π½ΠΈΡΠ° 1.1</item>
<item link="/page12/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 1.2" xlink:href="upage://106">ΡΡΡΠ°Π½ΠΈΡΠ° 1.
2</item>
<item link="/page13/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 1.3" xlink:href="upage://107">
<items>
<item link="/page131/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 1.3.1" xlink:href="upage://115">ΡΡΡΠ°Π½ΠΈΡΠ° 1.3.1</item>
</items>
ΡΡΡΠ°Π½ΠΈΡΠ° 1.3
</item>
</items>
ΡΡΡΠ°Π½ΠΈΡΠ° 1
</item>
<item link="/page2/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 2" xlink:href="upage://95">ΡΡΡΠ°Π½ΠΈΡΠ° 2</item>
<item link="/page3/" name="ΡΡΡΠ°Π½ΠΈΡΠ° 3" xlink:href="upage://96">ΡΡΡΠ°Π½ΠΈΡΠ° 3</item>
</items>
</udata>ΠΠ°Π΄Π°ΡΠΈ Ρ Π½Π°Ρ ΡΠ΅ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΎΠΏΠΈΠΊΠ΅, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°:
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
</li>
</xsl:template>ΠΠ΄Π½Π°ΠΊΠΎ, Π³Π»ΡΠ΄Ρ Π½Π° ΠΎΡΠ²Π΅Ρ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² item ΠΌΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ β Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ item ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π°ΠΌ ΠΏΠΎΠ΄ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ.
Π’ΠΎΠ³Π΄Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ β ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ apply-templates.
ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ <ul></ul> β ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠ°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ items (ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ).
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>Π Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ (ΡΡΠ»ΠΎΠ²ΠΈΠ΅ match="items"). ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΠ±ΡΠ°ΠΌΠ»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ <ul></ul> ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ (apply-templates) Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ item Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
<xsl:template match="items" mode="menu">
<ul>
<xsl:apply-templates select="item" mode="menu"/>
</ul>
</xsl:template>
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π· (ΠΈ Π±ΠΎΠ»Π΅Π΅)
Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ°, Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° item ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ.
Π ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ <xsl:template match="item" mode="menu"> β Π΄Π»Ρ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ, ΠΈ <xsl:template match="item[@status = 'active']" mode="menu"> β Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ.
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name" />
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name" />
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>Π Π² ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎΠΈΡ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡ
Π½Π°Π»ΠΈΡΠΈΡ Π²ΡΠ·ΠΎΠ² <xsl:apply-templates select="items" mode="menu"/> ΡΠ½ΠΎΠ²Π° ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΠΈΡ
ΠΊ <xsl:template match="items" mode="menu">, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π³ΠΈ ΡΠΏΠΈΡΠΊΠ°, ΠΈ ΠΎΡΠ΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ½ΠΎΠ²Π° ΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΈ ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΎΡΠ΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ %content menu()%.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ±Π΅ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² apply-templates ΠΈΠ· <xsl:template match="item" mode="menu">, ΡΠΎ ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΡΠ½ΠΊΡΠΎΠ².
Π€ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ
ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ°ΠΊΡΠΎΡΠ°, ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ <ul></ul>. ΠΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ items. Π’ΠΎΠ³Π΄Π° Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<xsl:template match="udata[@module = 'content'][@method = 'menu']">
<xsl:apply-templates select="items" mode="menu"/>
</xsl:template>
<xsl:template match="items" mode="menu">
<ul>
<xsl:apply-templates select="item" mode="menu"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/> </li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
</xsl:stylesheet>ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΡΠ°Π±Π»ΠΎΠ½Π° <xsl:template match="udata[@module = 'content'][@method = 'menu']">.
Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π·Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ items, Π½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΅ΠΌΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ mode="menu":
<xsl:template match="/">
<html>
<head></head>
<body>
<div>
<xsl:apply-templates select="document('udata://content/menu/0/3')/udata/items" mode="menu"/>
</div>
<div>
</div>
</body>
</html>
</xsl:template>
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ, Π±ΡΡΡΡΡΠΌ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ Π²ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΡΠ·ΡΠΊΠ° XSLT:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8" method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head></head>
<body>
<div>
<xsl:apply-templates select="document('udata://content/menu/0/3')/udata/items" mode="menu"/>
</div>
<div>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="items" mode="menu">
<ul>
<xsl:apply-templates select="item" mode="menu"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
</xsl:stylesheet>
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΡΠ½ΡΡΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
ΠΠ°ΠΊΡΠΎΡ %content menu()% ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ status = 'active'.
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ β Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠΎΡΠ½ΡΡΡΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Ρ ΠΎΠ΄Π½ΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ° (ΡΠΌ. Π²ΡΡΠ΅).
Π Π°Π·Π²Π΅ΡΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π΄Π»Ρ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ:
<xsl:template match="item[.//item[@status = 'active']]" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>ΠΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°Π½ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° item, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ status = 'active'. ΠΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΊΡΡΡΠ° Π΄ΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output encoding="UTF-8" method="html" indent="yes"/> <xsl:template match="/"> <html> <head></head> <body> <div> <xsl:apply-templates select="document('udata://content/menu/0/3')/udata/items" mode="menu"/> </div> <div> </div> </body> </html> </xsl:template> <xsl:template match="items" mode="menu"> <ul> <xsl:apply-templates select="item" mode="menu"/> </ul> </xsl:template> <xsl:template match="item" mode="menu"> <li> <a href="{@link}"> <xsl:value-of select="@name"/> </a> </li> </xsl:template> <xsl:template match="item[@status = 'active']" mode="menu"> <li> <span> <xsl:value-of select="@name"/> </span> <xsl:apply-templates select="items" mode="menu"/> </li> </xsl:template> <xsl:template match="item[.
//item[@status = 'active']]" mode="menu"> <li> <a href="{@link}"> <xsl:value-of select="@name"/> </a> <xsl:apply-templates select="items" mode="menu"/> </li> </xsl:template> </xsl:stylesheet>
ΠΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ
Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎ ΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8" method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head></head>
<body>
<div>
<xsl:apply-templates select="document('udata://content/menu/0/3')/udata/items" mode="menu"/>
</div>
<div>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="items" mode="menu">
<ul>
<xsl:apply-templates select="item" mode="menu"/>
</ul>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<span>
<xsl:value-of select="@name"/>
</span>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
<xsl:template match="item|item[.
//item[@status = 'active']]" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
</xsl:stylesheet>ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠΉ item[@status = 'active'] ΠΈ item[.//item[@status = 'active']] β ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΡΡΠ°Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΡΠ½ΠΊΡΠΎΠ². ΠΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΡΠ·ΡΠΊΠ° XSLT Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΡΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅
ΠΡΠ»Π° Π»ΠΈ Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°? ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡ ΡΡΠ°ΡΡΡ?ΠΠ΅Π½Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
ΠΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΌΠ΅Π½Ρ | PHPClub — ΠΊΠ»ΡΠ± ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² PHP
nocturne
ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Ρ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ
- #1
Π₯ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊ Π²ΠΎΠΏΡΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ΅Π½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
PHP:
<ul>
<li><a href="#">JavaScript</a>
<ul>
<li><a href="#">Drop Down Menu</a></li>
<li><a href="#">jQuery Plugin</a></li>
<li><a href="#">Ajax Navigation</a></li>
</ul>
</li>
<li><a href="#">Effect</a>
<ul>
<li><a href="#">Slide Effect</a></li>
<li><a href="#">Fade Effect</a></li>
<li><a href="#">Opacity Mode</a></li>
<li><a href="#">Drop Shadow</a></li>
<li><a href="#">Semitransparent</a></li>
</ul>
</li>
<li><a href="#">Navigation</a></li>
<li><a href="#">HTML/CSS</a></li>
<li><a href="#">Help</a></li>
</ul>Π Π±Π°Π·Π΅ Π΅ΡΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ $level 1 ΠΈ 2
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ 1 — ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΌΠ΅Π½Ρ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ 2 — ΡΡΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ
ΠΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ
PHP:
echo '<ul>';
ΠΠ°Π»Π΅Π΅ ΡΠΈΠΊΠ» mysql.
ΠΏΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ
PHP:
if($level == 1) {
<li><a href="ΠΈΠ· Π±Π°Π·Ρ Π»ΠΈΠ½ΠΊ">ΠΈΠ· Π±Π°Π·Ρ ΡΠΈΡΠ»Π΅</a>
}PHP:
if($level == 2) {
<ul>
<li><a href="ΠΈΠ· Π±Π°Π·Ρ Π»ΠΈΠ½ΠΊ">ΠΈΠ· Π±Π°Π·Ρ ΡΠΈΡΠ»Π΅</a></li>
</ul>
}ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π° mysql
PHP:
echo '</ul>';
ΠΡΠΎ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ, Π½Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π³Π° </li> Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ:
PHP:
<li><a href="ΠΈΠ· Π±Π°Π·Ρ Π»ΠΈΠ½ΠΊ">ΠΈΠ· Π±Π°Π·Ρ ΡΠΈΡΠ»Π΅</a></li>
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ΅Π½Ρ?
Β
Alien85
I like my cat
- #2
nocturne Π½Π°ΠΏΠΈΡΠ°Π»(Π°):
Π½Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π³Π° </li>
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ.
..
Π’Π°ΠΊ ΠΏΠΎΡΡΠ°Π²Ρ.
nocturne Π½Π°ΠΏΠΈΡΠ°Π»(Π°):
Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ…
Π’Π°ΠΊ Π½Π°ΠΏΠΈΡΠΈ.
Β
nocturne
ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Ρ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ
- #3
Alien85
ΠΡΠ»ΠΈ Ρ ΠΈΡ
ΠΏΠΎΡΡΠ°Π²Π»Ρ, Π²ΡΠ²ΠΎΠ΄ ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ.
Β
Linker
ΠΠΎΠ²ΠΈΡΠΎΠΊ
- #4
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ «level» (1 ΠΈ 2) Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, Ρ.
ΠΊ. ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ «Drop Down Menu» ΠΈ «Slide Effect» Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 2, Π½ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅Π½Ρ ΠΎΠ½ΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ («JavaScript» ΠΈΠ»ΠΈ «Effect») Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° 1 ΡΡΠΎΠ²Π½Π΅ΠΌ.
Π£ Π²Π°Ρ Π² ΡΡΡΡΠΊΡΡΡΠ΅ Π±Π°Π·Ρ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ΅Π½Ρ, ΠΏΡΠΈΡΡΠΌ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ — ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅, Ρ.Π΅. ΡΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΠΎΠ»Ρ, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
Β
nocturne
ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Ρ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ
- #5
ΠΠ΄Π΅ Π±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ? Π‘ΡΡΡΠΊΡΡΡΡ ΠΠ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ Π±Ρ ΡΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π² ΠΊΠ°ΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ.
Β
Linker
ΠΠΎΠ²ΠΈΡΠΎΠΊ
- #6
1. ΠΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ «ΠΠ΅ΡΠ΅Π²ΡΡ»
2. Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π½Π° ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΡ, Ρ.Π΅. Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ NULL, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π½Π° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ «ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ».
Β
Alien85
I like my cat
- #7
ΠΠ΅Π»Π°ΡΡ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ — Π΄Π΅ΡΠ΅Π²ΠΎ Π² ΠΠ — ΠΏΠΎΠ»Π½ΡΠΉ ΠΠ ΠΠ!!!
Β
confguru
ExAdmin
KorP
ΠΠΎΠ²ΠΈΡΠΎΠΊ
- #9
ΠΠΎΠΎΠ±ΡΠ΅ Π΅ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΠΈΡΠΊ — ΡΡΠΎΠΏΠΈΡΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
Π― Π»ΠΈΡΠ½ΠΎ ΡΠ·Π°Ρ id ΠΈ parent_id, Π° ΠΏΠΎΡΠΎΠΌ ΡΠΆΠ΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΡ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°ΠΊΡΡ ΠΌΠ΅Π½ΡΡΠΊΡ, Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ.
Β
Ruslan
ΠΠΎΠ²ΠΈΡΠΎΠΊ
- #10
ΠΡΠ΅ Π²Π΅ΡΠ½ΠΎ.
ΠΠ΅ Ρ
Π²Π°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎΡΡΠ΄ΠΊΠ°. ΠΡΡΡ level ΠΈ Π΅ΡΡΡ order. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ level Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ Π΄Π΅ΡΠ΅Π²Π°, Π½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Ρ ΡΠ°Π³ΠΎΠΌ Π±ΠΎΠ»ΡΡΠ΅ 1, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π±ΡΡΡΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΡΡΡΠ΅ ΡΠ»ΠΎΡΡ.
Β
scorpion-ds
ΠΠΎΠ²ΠΈΡΠΎΠΊ
- #11
admin Π½Π°ΠΏΠΈΡΠ°Π»(Π°):
Π’ΡΡ Π²ΡΠ΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΎ
http://phpclub.ru/detail/article/db_tree
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ…
Π― Π±Ρ ΡΠ°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Π», ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, Π΄Π° ΠΈ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π΅ΡΠ΅Π²Π°, Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π²ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
Β
scorpion-ds
ΠΠΎΠ²ΠΈΡΠΎΠΊ
- #12
KorP Π½Π°ΠΏΠΈΡΠ°Π»(Π°):
ΠΠΎΠΎΠ±ΡΠ΅ Π΅ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΠΈΡΠΊ — ΡΡΠΎΠΏΠΈΡΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
Π― Π»ΠΈΡΠ½ΠΎ ΡΠ·Π°Ρ id ΠΈ parent_id, Π° ΠΏΠΎΡΠΎΠΌ ΡΠΆΠ΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΡ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°ΠΊΡΡ ΠΌΠ΅Π½ΡΡΠΊΡ, Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ.ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ…
Π’ΠΎΠΆΠ΅ ΡΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠ°Ρ, Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄.
Β
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ (ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ) ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΡΠΏΠΈΡΠΎΠΊ Bootstrap β Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΡΠΏΠΈΡΠΎΠΊ
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠΏΠΈΡΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bootstrap 5. Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΠΌΠ΅Π½Ρ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠΊΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅
ΠΠΎΠ±Π°Π²ΠΈΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ CSS, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΡΠΏΠΈΡΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΠΊ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡΡ ΡΠΏΠΈΡΠΊΡ Π² ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΡ ΡΡ ΡΠΏΠΈΡΠΊΠ°Ρ , ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π Π°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ .
ΠΠ½ΠΎΠΏΠΊΠ° ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°
ΠΡΠΈΠΌΠ΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ.
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ΄ ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅
- HTML
- Π£Π‘Π
<Π΄Π΅Π»>
<ΡΠΈΠΏ ΠΊΠ½ΠΎΠΏΠΊΠΈ="ΠΊΠ½ΠΎΠΏΠΊΠ°"
data-mdb-toggle="Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ" aria-expanded="false">
ΠΠ½ΠΎΠΏΠΊΠ° ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°
ΠΊΠ½ΠΎΠΏΠΊΠ°>
- ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅
- ΠΡΡΠ³ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅
- <Π° href="#"> ΠΠΎΠ΄ΠΌΠ΅Π½Ρ » <ΡΠ»>
- ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ 1
- ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ 2
- ΠΡΠ½ΠΊΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ 3 » <ΡΠ»>
- ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ 1
- ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ 2


cnblogs.com/rubylouvre/"> menu_11 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li>
<li> <a href="http://www.cnblogs.com/rubylouvre/"> menu_12 Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ </a> </ li>
</ul>
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π― ΡΠΎΠ±ΡΠ°Π» 2018 ΡΠ°ΠΌΡΡ
ΠΏΠΎΠ»Π½ΡΡ
ΡΡΠ΅Π±Π½ΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΡ ΡΠ°ΠΌΡΡ
ΠΏΡΠΎΡΡΡΡ
HTML + CSS + JS [ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΠΏΠ΅ΡΡΡΡΠ΅ΠΊΡΡ, ΠΈΠ³ΡΡ, ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°] Π΄ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠΎΠ΅ΠΊΡ HTML5 Π²ΡΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΡΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ
ΠΎΡΠ΅Ρ ΠΈΠ·ΡΡΠ°ΡΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ, ΠΈΠ»ΠΈ ΡΡΡΠ΄Π΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ°, ΠΈ ΡΠ΅, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ΅, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8" method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head></head>
<body>
<div>
<xsl:apply-templates select="document('udata://content/menu/0/3')/udata/items" mode="menu"/>
</div>
<div>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="items" mode="menu">
<ul>
<xsl:apply-templates select="item" mode="menu"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li>
<span>
<xsl:value-of select="@name"/>
</span>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
<xsl:template match="item[.
//item[@status = 'active']]" mode="menu">
<li>
<a href="{@link}">
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="items" mode="menu"/>
</li>
</xsl:template>
</xsl:stylesheet>
..
ru/detail/article/db_tree
dropdown-ΠΌΠ΅Π½Ρ Π»ΠΈ {
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊ;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π½Π΅Ρ;
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅;
ΡΠ»Π΅Π²Π°: 100%;
Π²Π΅ΡΡ
: -7px;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ-ΡΠ»Π΅Π²Π° {
ΡΠΏΡΠ°Π²Π°: 100%;
ΡΠ»Π΅Π²Π°: Π°Π²ΡΠΎ;
}
.dropdown-menu > li: hover > .dropdown-submenu {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π±Π»ΠΎΠΊ;
}
dropdown-ΠΌΠ΅Π½Ρ Π»ΠΈ {
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊ;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π½Π΅Ρ;
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅;
ΡΠ»Π΅Π²Π°: 100%;
Π²Π΅ΡΡ
: -7px;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ-ΡΠ»Π΅Π²Π° {
ΡΠΏΡΠ°Π²Π°: 100%;
ΡΠ»Π΅Π²Π°: Π°Π²ΡΠΎ;
}
.dropdown-menu > li: hover > .dropdown-submenu {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π±Π»ΠΎΠΊ;
}
dropdown-ΠΌΠ΅Π½Ρ Π»ΠΈ {
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊ;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π½Π΅Ρ;
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅;
ΡΠ»Π΅Π²Π°: 100%;
Π²Π΅ΡΡ
: -7px;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ-ΡΠ»Π΅Π²Π° {
ΡΠΏΡΠ°Π²Π°: 100%;
ΡΠ»Π΅Π²Π°: Π°Π²ΡΠΎ;
}
.dropdown-menu > li: hover > .dropdown-submenu {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π±Π»ΠΎΠΊ;
}
dropdown-ΠΌΠ΅Π½Ρ Π»ΠΈ {
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊ;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π½Π΅Ρ;
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅;
ΡΠ»Π΅Π²Π°: 100%;
Π²Π΅ΡΡ
: -7px;
}
.dropdown-ΠΌΠ΅Π½Ρ .dropdown-ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ-ΡΠ»Π΅Π²Π° {
ΡΠΏΡΠ°Π²Π°: 100%;
ΡΠ»Π΅Π²Π°: Π°Π²ΡΠΎ;
}
.dropdown-menu > li: hover > .dropdown-submenu {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: Π±Π»ΠΎΠΊ;
}
.dropdown-hover:hover>.dropdown-ΠΌΠ΅Π½Ρ {
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ;
}
.dropdown-hover>.dropdown-toggle:active {
/*ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΡΠ΅Π»ΡΠΎΠΊ ΡΠ΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π»ΠΈΠΏΠΊΠΈΠΌ*/
ΡΠΎΠ±ΡΡΠΈΡ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ: Π½Π΅Ρ;
}
ΠΠ° Π²Π΅Π±-ΡΠ°ΠΉΡΠ°Ρ
Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΌΠ΅Π½Ρ β ΡΡΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ»ΡΡΡΠΈΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ°, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΉ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈ ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡ.
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ»ΠΎΡΠΊΠ°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΡΠ»ΡΡΡΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ° Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π²Π²Π΅ΡΡ
Ρ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΡΡΡΠ°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Zoho, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΠΈΠ·Π½Π΅ΡΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ»Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΡΡΡ Π½ΠΈΠΆΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²Π²Π΅ΡΡ
Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Zoho, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅Π½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π½Ρ.
ΠΠ½Π°ΠΊΠΎΠΌΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π·Π½Π°ΡΠΎΠΊ ΡΠ³Π»Π° Π²Π½ΠΈΠ· ΠΈΠ»ΠΈ Π·Π½Π°ΡΠΎΠΊ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠΊΠΎΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ
Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΏΡΠ°Π², Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎΡ ΡΡΡΠ»ΠΊΠΈ Β«ΠΠΈΡΠ΅Π»ΠΈΒ» Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΊ ΡΡΡΠ»ΠΊΠ΅ Β«Π£ΡΠ»ΡΠ³ΠΈ Π΄Π»Ρ Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉΒ» Π² ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠΎΡΠΌΠΎΠΉ ΠΏΡΠΎΠ΄Π»Π΅Π½ΠΈΡ, ΠΎΠ±Π° Β« ΠΠΈΡΠ΅Π»ΠΈΒ» ΠΈ Β«ΠΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ»ΡΠ³ΠΈΒ» ΠΎΡΡΠ°Π½ΡΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ.


