Пустой компонент

пустые файлы

#1 23 апреля 2012 в 19:46
Вопрос скорее к тем, кто хоть раз собрал хоть 1 компонент.

Задача: сделать пустой компонент "test":

1.создается в темплейтах файл com_test.tpl
2.правильный (чистый файл) frontend.php и router.php и model.php в одноименной папке test в компонентах

Результат: при переходе на шттп://сайт.ру/test выводится компонент и содержание файла com_test.tpl

------------
Прошу в вику не отправлять, только оттуда пришел.

А кто знает прошу подсказать.
#2 23 апреля 2012 в 20:12
kreator, вот то что нужно в components/test:
frontend.php
  1. <?php
  2. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  3. \\понадобиться, тоже вписал
  4. $inCore = cmsCore::getInstance();
  5. $inConf = cmsConfig::getInstance();
  6. $inDB = cmsDatabase::getInstance();
  7. $do = $inCore->request('do', 'str', 'view');
  8.  
  9. if ($do=='view'){
  10. $smarty = $inCore->initSmarty('components', 'com_test.tpl');
  11. $smarty->display('com_test.tpl');
  12. }
  13. ?>
router.php
  1. <?php
  2. function routes_test(){
  3.  
  4. $routes[] = array(
  5. '_uri' => '/^test\/index.html$/i',
  6. 'do' => 'view'
  7. );
  8.  
  9. return $routes;
  10. }
  11. ?>
#3 23 апреля 2012 в 20:26
WALTERZ, не в обиду, не смог пройти мимо )
Файл выдаст ошибку. Комментарии нужно так "//". Это первое. Второе в файле frontend.php данный код нужно заключить в функцию с названием компонента, так:
  1.  
  2. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  3. function test(){
  4. $smarty = $inCore->initSmarty('components', 'com_test.tpl');
  5. $smarty->display('com_test.tpl');
  6. }
  7.  
Если хотите, чтобы компонент был доступен только по адресу шттп://ваш_сайт.ру/test, то файл router.php вообще не нужен. В последнем точно не уверен. Надо проверить.

Прошу в вику не отправлять, только оттуда пришел.

kreator
А вот это зря. По-моему, там всё подробно было описано и понятно.
#4 23 апреля 2012 в 20:30
А как в данном файле шаблона заставить работать следующий код:
  1.  
  2. <script type="text/javascript" src="http://api-maps.yandex.ru/2.0/?coordorder=longlat&load=package.full&wizard=constructor&lang=ru-RU"></script>
  3.  
  4. <script type="text/javascript">ymaps.ready(function() {var map = new ymaps.Map("ymaps-map-container", {center: [47.248374999999996, 56.13980199999326], zoom: 12, type: "yandex#map"}, {geoObjectHint: false});map.controls.add("zoomControl").add("mapTools").add(new ymaps.control.TypeSelector(["yandex#map", "yandex#satellite", "yandex#hybrid", "yandex#publicMap"]));});</script>
  5. <div id="ymaps-map-container" style="width: 450px; height: 350px;"></div>
  6. <div style="width: 450px; text-align: right;"><a href="http://api.yandex.ru/maps/tools/constructor/?lang=ru-RU" target="_blank" style="color: #1A3DC1; font: 13px Arial,Helvetica,sans-serif;">Создано с помощью инструментов Яндекс.Карт</a></div>
И хотелось бы услышать комментарий, почему и на что ругается если вставить этот код в темплейт?
Иль как это можно осуществить такой вывод?
#5 23 апреля 2012 в 20:34
Марат, Какие обиды :)
Да я сплю сижу, извиняюсь за такие ошибки.
kreator, гораздо проще приинклюдить файлом.
#6 23 апреля 2012 в 20:45
kreator, попробуйте завести в {literal}
  1.  
  2. <script type="text/javascript" src="http://api-maps.yandex.ru/2.0/?coordorder=longlat&load=package.full&wizard=constructor&lang=ru-RU"></script>
  3.  
  4. {literal}
  5. <script type="text/javascript">ymaps.ready(function() {var map = new ymaps.Map("ymaps-map-container", {center: [47.248374999999996, 56.13980199999326], zoom: 12, type: "yandex#map"}, {geoObjectHint: false});map.controls.add("zoomControl").add("mapTools").add(new ymaps.control.TypeSelector(["yandex#map", "yandex#satellite", "yandex#hybrid", "yandex#publicMap"]));});</script>
  6. {/literal}
  7. <div id="ymaps-map-container" style="width: 450px; height: 350px;"></div>
  8. <div style="width: 450px; text-align: right;"><a href="http://api.yandex.ru/maps/tools/constructor/?lang=ru-RU" target="_blank" style="color: #1A3DC1; font: 13px Arial,Helvetica,sans-serif;">Создано с помощью инструментов Яндекс.Карт</a></div>
  9.  
#7 23 апреля 2012 в 20:49
Заработало. То что надо. Плюсую обоим.

{literal} — это команды шаблонизатора смарти?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.