Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Шаблоны PHP / Re: Как в UMI на php вывести список из 3 новостей на главной?
« Последний ответ от pandus 14 Сентября 2023, 10:42:46 »
Как выводятся новости в PHP шаблонизаторе можно посмотреть в стандартном DEMO шаблоне
2
Есть такой код, смотрел по инструкции но он не работает почему-то!
<?php $newsList = $this->macros('news', 'lastlist', array('news1', 10, 0, true));
foreach ($newsList['void:lines'] as $newsItem) : ?>
<?php $news = $this->getPageById($newsItem['attribute:id']); ?>
<a href="<?= $newsItem['attribute:link'] ?>">
<div class="news_item">
<div class="news_img_wr">
<?php $mainPhoto = $news->getValue('anons_pic'); ?>
<?php if ($mainPhoto instanceof iUmiImageFile) : ?>
<img src="<?= $mainPhoto ?>" />
<?php endif; ?>
<div class="news_data_block">
<?= date('d.m.Y', $newsItem['attribute:publish_time']) ?>
</div>
</div>
</a>
<div class="news_title_wr">
<a href="<?= $newsItem['attribute:link'] ?>">
<?= $news->getValue('h1') ?>
</a>
</div>
</div>
<?php endforeach; ?>

3
Custom макросы / Как бороться со спамом в UMI CMS ?
« Последний ответ от pandus 16 Января 2021, 00:15:17 »
Установил систему, форму подключил стандартную с gogle recaptcha v2, после чего постоянно приходит спам. Может есть стандартный способ борьбы со спамом?
Кто как борется с этим, подскажите?
4
Шаблоны PHP / Re: Как проверить работу функции
« Последний ответ от admin 01 Июля 2020, 14:01:55 »
Все верно.
Чаще всего проверяю функцию
https://домен/custom/название функции/параметр/параметр
или
https://домен/udata://custom/название функции/параметр/параметр

Цитировать
Если функция возвращает return true, то выводит <![CDATA[1]> - это нормально
Но если возвращает return false то выводится <![CDATA[Ваших прав недостаточно, чтобы совершить это действие.]]> - это же вводит в заблуждение

Если функцию выводит интерпретатор для запросов вида  https://домен/udata://custom/название функции/параметр/параметр, то да, а если эту функцию запросить из другой функции, то все ок, там вернется просто false.
5
Шаблоны PHP / Re: Как проверить работу функции
« Последний ответ от pandus 30 Июня 2020, 17:05:53 »
Ещё одна особенность или не знаю что это:
Пишу через
https://домен/udata://custom/название функции/параметр/параметр

Если функция возвращает return true, то выводит <![CDATA[1]> - это нормально
Но если возвращает return false то выводится <![CDATA[Ваших прав недостаточно, чтобы совершить это действие.]]> - это же вводит в заблуждение...
Если null выводить тогда пустота - это нормально
6
Шаблоны PHP / Как проверить работу функции
« Последний ответ от pandus 30 Июня 2020, 16:26:32 »
Допустим я создал функцию в classes/components/custom.php функцию:

Как проверить результат её работы в браузере?

Я так понимаю просто в браузере писать:
https://домен/custom/название функции/параметр/параметр
или
https://домен/udata://custom/название функции/параметр/параметр

Правильно ?
Все так делают? или есть другой способ проверить работу функции?
7
Шаблоны PHP / Re: Как сделать языковые версии сайта
« Последний ответ от Faiffer 29 Апреля 2020, 12:31:03 »
Лес рук ))) Короче сделал вот так! Все работает, код прилагаю

<?php

$data = $this->macros('system', 'getLangsList');
$items = $data['items'];
$lang = $variables['lang'];
?>

<?php if (umiCount($items) > 0): ?>
   <div>
      <div class="lang_list">
         <?php foreach ($items as $item): ?>
            <?php if ($item->getIsDefault() && $lang=='ru'): ?>
               <a class="default active" href="/">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php elseif ($item->getIsDefault()): ?>
               <a class="default" href="/">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php elseif (isset($lang) && $item->getPrefix() == $lang): ?>
               <a class="<?= 'lang_'.$lang ?> active" href="javascript:void(0)">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php else: ?>
               <a href="<?= '/'.$item->getPrefix() ?>">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php endif; ?>
         <?php endforeach; ?>
      </div>
   </div>
<?php endif; ?>
8
Шаблоны PHP / Как сделать языковые версии сайта
« Последний ответ от Faiffer 15 Апреля 2020, 13:30:55 »
$data = $this->macros('system', 'getLangsList');
$items = $data['items'];
?>

<?php if (umiCount($items) > 0): ?>
   <div>
      <ul class="lang_list">
         <?php foreach ($items as $item): ?>
            <?php if ($item['is-current'] == 1 || $item['is-default'] == 1): ?>
               <li class="active">
                  <a href="<?= $variables['domain'] ?>"
                     <?= $this->escape($item['prefix']) ?>
                  </a>
               </li>
            <?php elseif ($item['is-current'] == 1): ?>
               <li class="active">
                  <a href="<?= $variables['domain'] ?>/<?= $variables['lang'] ?>">
                     <?= $this->escape($item['prefix']) ?>
                  </a>
               </li>
            <?php else: ?>
               <li>
                  <a href="<?= $variables['domain'] ?>/<?= $variables['lang'] ?>">
                     <?= $this->escape($item['prefix']) ?>
                  </a>
               </li>
            <?php endif; ?>
         <?php endforeach; ?>
      </ul>
   </div>
<?php endif; ?>

Но в результате получаю ошибку - Ошибка (Error): Cannot use object of type lang as array

http://prntscr.com/rzqc5x  по сути на выходе я получаю массив с 3мя объектами внутри.
9
Новости / Перезагрузка
« Последний ответ от Vladimir 01 Марта 2020, 11:39:38 »
Хорошо, что все обошлось и сайт заработал. А то после нескольких дней оффлайна сайта я взгрустнул. Админу спасибо за поддержку и удачи!
10
Как я понял Вам нужно было получить список новостей отфильртованных по определённому значению выподающего списка, если так, то можно воспользоваться сортировкой usel?
Вот кусок из документации http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/#sel=131:1,131:36 :
<!-- Найти все страницы, либо объекты, 
у которых свойство "recommend" равно странице с адресом "/market/akse.../",
либо странице с id равным "23025" -->
<property name="recommend">
  <page>/market/aksessuary_dlya_homyachkov/povodki/povodok_leopardovyj/</page>
  <page>23025</page>
</property>


Страницы: [1] 2 3 ... 10