somik

somik

Создам сайт на Joomla, Wordpress за минимальные деньги.
+22
Репутация
4
Рейтинг
#1 Вопросы по шаблону Tseso 20 февраля 2017 в 08:13
Установил данный шаблон.
Но меню не отображается как на демо.
Пункты меню без иконок плюсиков.
А подменю открываются просто слева(см. скриншот).

Посмотрел исходный код демки и своего сайта и понял, что нет блоков div, в которых выводятся эти плюсики.
Самостоятельно интегрировать блоки в логику шаблона menu-treeview.tpl.php не получилось.

Помогите пожалуйста. Поделитесь правильным шаблоном.
Прикрепленный файл
123123_k7hj3.jpg 75 Кб
#2 Категории доски объявлений 20 февраля 2017 в 05:50
Даже глядя на шаблон вывода меню видно что кода не хватает.

  1.  
  2. <!-- treeview меню -->
  3. <?php $this->addJS("templates/{$this->name}/treeview/jquery.treeview.js"); ?>
  4. <?php $this->addJS("templates/{$this->name}/treeview/treeview_init.js"); ?>
  5. <?php $this->addCSS("templates/{$this->name}/treeview/jquery.treeview.css"); ?>
  6. <!-- treeview меню -->
  7. <div>
  8. <ul class="<?php echo $css_class; ?>">
  9.  
  10. <?php $last_level = 0; ?>
  11.  
  12. <?php foreach($menu as $id=>$item){ ?>
  13.  
  14. <?php for ($i=0; $i<($last_level - $item['level']); $i++) { ?>
  15. </li></ul>
  16. <?php } ?>
  17.  
  18. <?php if ($item['level'] <= $last_level) { ?>
  19. </li>
  20. <?php } ?>
  21.  
  22. <?php
  23.  
  24. $is_active = in_array($id, $active_ids);
  25.  
  26. $css_classes = array();
  27. if ($is_active) { $css_classes[] = 'active'; }
  28. if ($item['childs_count'] > 0) { $css_classes[] = 'folder'; }
  29. if (!empty($item['options']['class'])) { $css_classes[] = $item['options']['class']; }
  30.  
  31. $onclick = isset($item['options']['onclick']) ? $item['options']['onclick'] : false;
  32. $onclick = isset($item['options']['confirm']) ? "return confirm('{$item['options']['confirm']}')" : $onclick;
  33.  
  34. $target = isset($item['options']['target']) ? $item['options']['target'] : false;
  35. $data_attr = '';
  36. if (!empty($item['data'])) {
  37. foreach ($item['data'] as $key=>$val) {
  38. $data_attr .= 'data-'.$key.'="'.$val.'" ';
  39. }
  40. }
  41.  
  42. ?>
  43.  
  44. <li <?php if ($css_classes) { ?>class="<?php echo implode(' ', $css_classes); ?>"<?php } ?>>
  45. <?php if ($item['disabled']) { ?>
  46. <span class="item disabled"><?php html($item['title']); ?></span>
  47. <?php } else { ?>
  48. <a <?php if (!empty($item['title'])) {?>title="<?php echo html($item['title']); ?>"<?php } ?> class="item" <?php echo $data_attr; ?> href="<?php echo !empty($item['url']) ? htmlspecialchars($item['url']) : 'javascript:void(0)'; ?>" <?php if ($onclick) { ?>onclick="<?php echo $onclick; ?>"<?php } ?> <?php if ($target) { ?>target="<?php echo $target; ?>"<?php } ?>>
  49. <span class="wrap">
  50. <?php if (!empty($item['title'])) { html($item['title']); } ?>
  51. <?php if (isset($item['counter']) && $item['counter']){ ?>
  52. <span class="counter"><?php html($item['counter']); ?></span>
  53. <?php } ?>
  54. </span>
  55. </a>
  56. <?php } ?>
  57.  
  58. <?php if ($item['childs_count'] > 0) { ?><ul><?php } ?>
  59.  
  60. <?php $last_level = $item['level']; ?>
  61.  
  62. <?php } ?>
  63.  
  64. <?php for ($i=0; $i<$last_level; $i++) { ?>
  65. </li></ul>
  66. <?php } ?>
  67. </div>
  68.  
#3 Категории доски объявлений 20 февраля 2017 в 05:36


somik, Можно, можно взять виджет с того шаблона, атм есть бесплатная версия instantcms.ru/addons/tseso.html

Олега Васильевича благодарите)

Jestik

Меню получается без плюсиков.
Просто сбоку появляются подменю. Так что пока не за что его благодарить look
#4 Категории доски объявлений 19 февраля 2017 в 16:41
Вот кстати в админке при создании категорий слева показывается дерево и там есть плюсики для раскрытия подкатегорий.
Или как тут главное меню справа сделано: instantcms.ru/addons/demo/418

Можно как-то в виджете сделать плюсики?
#5 Категории доски объявлений 19 февраля 2017 в 16:31


somik, Можно сделать виджет😊в коробке есть виджет категорий, от него и пляшите)

Jestik

Емае. А я уже свой виджет написал с выводом дерева категорий))

Кстати а есть уже решение, чтобы превратить в раскрывающееся вертикальное меню это дерево категорий?
#6 Категории доски объявлений 19 февраля 2017 в 09:57


А как виджет вывести в том месте?

somik
В том месте никак не вывести. В том месте можно отключить и вывести НАД или СБОКУ. Но если речь идёт лишь о косметических изменениях, то вам доступен список с классом board_icon. К нему и его дочерним элементам списка можно применить нужные вам стили.

Loadырь

Хотелось бы вывести немного по-другому и вывести еще подкатегории.
#7 Категории доски объявлений 19 февраля 2017 в 09:13


somik, Можно сделать виджет😊в коробке есть виджет категорий, от него и пляшите)

Jestik

А как виджет вывести в том месте? Виджет же можно выводить НАД основным контентом.
#8 Обращение к базе данных 19 февраля 2017 в 08:35


Тема обширная, запросов есть много и разных, но вкратце все выглядит так:

  1. # Подключаем модель компонента. Для запросов в БД неважно какого поэтому берем модель компонента content
  2. $model = cmsCore::getModel('content');
  3. #Составляем запрос в БД
  4. $model->filterEqual('название поля таблицы', 'искомое значение')->filterEqual('название поля таблицы 2', 'искомое значение 2');
  5. # делаем запрос в БД и записываем результат в переменную $result, варианты на выбор:
  6. $result = $model->get('имя таблицы');// получить все записи с этими параметрами
  7. $result = $model->getItem('имя таблицы');// получить 1 запись с этими параметрами
  8. $result = $model->getFieldFiltered('имя таблицы', 'имя нужного поля');// получить значение конкретного поля

dwd

Спасибо получилось. А то я делал немного не правильно. Писал запрос в модели подключенного компонента.
Не понятно только почему для самостоятельного виджета нужно подключать модель какого-то компонента.
#9 Обращение к базе данных 18 февраля 2017 в 18:55


Подредактировать свой класс, что бы можно было получить инстанс, закинуть в папку с классами, дальше как обычно:

  1.  
  2. $model_class = cmsCore::getModel('class');
  3.  
joke

oruchimaru

Ой ой ничего не понял ((

1) В какую папку с классами закидывать? — создать новую для виджета? — по какому адресу ее создавать?

2) Какой файл закидывать? — создать его? — что в него писать?
Это? class modelVaccordion extends cmsModel {… }

3) В файле виджета писать ваш код?
$model_class = cmsCore::getModel('Vaccordion');
#1 Категории доски объявлений 18 февраля 2017 в 18:41
Подскажите...
Можно создать отдельный шаблон для вывода категорий доски объявлений?
Вот для этого: \templates\default\controllers\content\category_view.tpl.php
Прикрепленный файл
976_ugu29.jpg 74 Кб
#10 Обращение к базе данных 18 февраля 2017 в 18:20
Подскажите.
При попытке использовать в виджете запрос к базе выдает ошибку 500 на странице.
Не могу понять как правильно определить модель для виджета, который не относится к компоненту.

  1.  
  2. class widgetVaccordion extends cmsWidget {
  3.  
  4. //отключаем кеширование
  5. public $is_cacheable = false;
  6.  
  7. public function run(){
  8.  
  9. class modelVaccordion extends cmsModel {
  10. $categoryes = $this->get('con_board_cats');
  11. }
  12.  
  13. return array(
  14. 'categoryes' => $categoryes
  15. );
  16.  
  17. }
  18.  
  19. }
  20.  
#11 Обращение к базе данных 18 февраля 2017 в 14:29


docs.instantcms.ru/dev/widgets
docs.instantcms.ru/dev/models/get

Jestik

Спасибо большое) Я думал нет доков для движка scratch
Буду сегодня изучать.
#1 Обращение к базе данных 18 февраля 2017 в 13:06
Здравствуйте,

Подскажите как мне в моем виджете получить из базы данных информацию?

Как сделать это методами движка, а не самому писать подключение к базе и запросы?

Пример кода приветствуется smile
#12 Подключение стороннего скрипта PHP 18 февраля 2017 в 10:47


somik, для этого есть поля, виджеты

Jestik

ну как вариант попробовать виджеты.
#13 Подключение стороннего скрипта PHP 18 февраля 2017 в 09:37


У меня Инстант 2.7.1

vikont

ну iframe так iframe smile


Какая вообще цель сего мероприятия?

П.Сы. за iframe поисковики сделают бо бо

Jestik

У меня есть парсер, который парсит в мою табличку в базе.
Надо из нее вывести информацию на сайт. Соответственно надо php-файл подключить.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.