Zend_Navigation-Introduction.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.navigation.introduction">
  4. <title>Введение</title>
  5. <para>
  6. <classname>Zend_Navigation</classname> является компонентой для
  7. работы с деревьями ссылок на веб-страницы. Говоря проще,
  8. она может использоваться для создания меню, "хлебных крошек"
  9. (breadcrumbs), ссылок и карт сайта, либо использоваться в
  10. качестве модели в других целях, связанных с навигацией.
  11. </para>
  12. <sect2 id="zend.navigation.introduction.concepts">
  13. <title>Страницы и контейнеры</title>
  14. <para>
  15. Есть две основные концепции в
  16. <classname>Zend_Navigation</classname>:
  17. </para>
  18. <sect3 id="zend.navigation.introduction.pages">
  19. <title>Страницы</title>
  20. <para>
  21. Страница (<classname>Zend_Navigation_Page</classname>)
  22. в <classname>Zend_Navigation</classname> в своем
  23. основном проявлении является объектом,
  24. которй хранит ссылку на веб-страницу.
  25. Кроме собственно ссылки, объект страницы содержит и другие
  26. свойства, которые, как правило, относятся к навигации -
  27. <code>label</code> (метка), <code>title</code>
  28. (заголовок) и т.д.
  29. </para>
  30. <para>
  31. Более подробную информацию о страницах читайте в разделе о
  32. <link linkend="zend.navigation.pages">страницах</link>.
  33. </para>
  34. </sect3>
  35. <sect3 id="zend.navigation.introduction.containers">
  36. <title>Контейнеры</title>
  37. <para>
  38. Контейнер (<classname>Zend_Navigation_Container</classname>)
  39. в <classname>Zend_Navigation</classname>
  40. является классом-контейнером для страниц.
  41. Он имеет методы для добавления, извлечения, удаления и обхода
  42. страниц.
  43. Класс контейнера реализует интерфейсы из
  44. <ulink url="http://php.net/spl">SPL</ulink>
  45. <classname>RecursiveIterator</classname>
  46. и <classname>Countable</classname>, таким образом, он может
  47. использоваться с SPL-итераторами, такими, как
  48. <classname>RecursiveIteratorIterator</classname>.
  49. </para>
  50. <para>
  51. Более подробную информацию о контейнерах читайте в разделе о
  52. <link linkend="zend.navigation.containers">контейнерах</link>.
  53. </para>
  54. <note>
  55. <para>
  56. <classname>Zend_Navigation_Page</classname> расширяет
  57. <classname>Zend_Navigation_Container</classname>,
  58. это значит, что любая страница может содержать подстраницы.
  59. </para>
  60. </note>
  61. </sect3>
  62. </sect2>
  63. <sect2 id="zend.navigation.introduction.separation">
  64. <title>Разделение данных (модели) и отображения (вида)</title>
  65. <para>
  66. Классы в пространстве имен <classname>Zend_Navigation</classname>
  67. не занимаются отображением элементов навигации.
  68. Отображение производится с помощью соответствующих помощников
  69. видов. Тем не менее, страницы содержат информацию, которая
  70. используется помощниками видов при отображении, например,
  71. метку, класс <acronym>CSS</acronym>, заголовок, свойства
  72. <code>lastmod</code> (дата последнего изменения) и
  73. <code>priority</code> (приоритет) для карт сайта и т.д.
  74. </para>
  75. <para>
  76. Более подробную информацию об отображении элементов навигации
  77. читайте в разделе о
  78. <link linkend="zend.view.helpers.initial.navigation">помощниках
  79. навигации</link>.
  80. </para>
  81. </sect2>
  82. </sect1>