Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Модуль Меню - заголовки для блоков меню их поля "Название"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 7284
Последний ответ 06 Июня 2014, 12:06:35
от admin
Требуется по "клику" на элемент увеличить значение поля и показать значение

Автор tkalyuginaРаздел JS и AJAX

Ответов: 0
Просмотров: 1613
Последний ответ 02 Сентября 2016, 12:03:55
от tkalyugina
Тип поля "Состаное"

Автор SumrakrndРаздел Настройка системы и модулей

Ответов: 4
Просмотров: 2186
Последний ответ 28 Декабря 2016, 17:14:17
от Sumrakrnd
Задать значени поля тип "Составное"?

Автор muldyРаздел Custom макросы

Ответов: 5
Просмотров: 5265
Последний ответ 14 Апреля 2014, 21:20:45
от ilyar
Мультизагрузка файлов в поля "набор изображения"

Автор atachРаздел Настройка системы и модулей

Ответов: 0
Просмотров: 1310
Последний ответ 26 Апреля 2017, 19:26:48
от atach

0 Пользователей и 1 Гость просматривают эту тему.

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
Добрый день! У меня сайт на UMI Start, там есть страницы, и у них есть доп.поле kod_tovara. Так же у меня есть готовый скрипт с циклом, который по очереди выдаёт код товара из распарсеного файла. Как мне по этому коду товара найти страницу с соответствующим кодом, и получить остальные данные этой страницы (интересует именно изображение, ссылка и текст).?

Готов заплатить за решение этой задачи, ссылки продублированы, здесь и здесь (тут можно скачать скрипт).

Вобщем мне нужно этот скрипт сделать как макрос или модуль для UMI, чтобы вывести его потом на сайте.  Попытки сделать модуль привели к тому что из админки он не запускается, при удалении и установке пустой экран. Времени разбираться нет, очень надеюсь на вашу помощь, отблагодарю!
Я

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Вам идеально подойдет usel запрос, без всякого программирования.
То есть просто создаете usel файл, который будет выбирать из базы страницы определенного типа данных со значением в поле kod_tovara равным заданному вами. О том как писать usel уже много описалось в том числе и тут на форуме ищи по запросу usel, ну или начни с документации по usel протоколу, там достаточно понятно расписано, а примеры в сети есть

После того, как нужный usel будет написан, вам останется оформить шаблон который будет работать с полученными при выборке страницами и вывести с них нужные вам свойства типа изображение, ссылка и текст.

Если вас интересен именно вариант, чтобы кто-то реализовал это для вас, то тогда пишите в раздел вакансии, все предложения по работе туда.

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
<udata generation-time="0.0">
<error>
<![CDATA[
You don't have permissions to call protocol "usel://" via HTTP
]]>
</error>
</udata>

Как исправить?
Я

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
внимательно просмотреть документацию, в самом начале пишется следующее
Цитировать
Замечание

Для версий до 2.8: если на запрос http://ваш_сайт/usel/имя_шаблона отображается сообщение, что протокол USel недоступен, создайте в корневой папке сайта пустой файл с именем scheme.usel.allow и обновите страницу.

Для версий, начиная с 2.8: необходимо указать параметр usel.http.allow = "1" в файле config.ini в секции [streams] (см. Секция [streams]).


*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
Re:Получение данных страницы по значению до&#
« Ответ #4 : 03 Сентября 2012, 12:55:32 »
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="usel" method="get-page" generation-time="0.027011">
<page id="78" parentId="75" link="/menu/salad/russkij_raznosol/" is-active="1" object-id="389" type-id="111" update-time="1346213250" alt-name="russkij_raznosol" xlink:href="upage://78">
<basetype id="24" module="news" method="item">Новости</basetype>
<name>Русский разносол</name>
</page>
<total>1</total>
</udata>

А как получить поле изображения?
« Последнее редактирование: 03 Сентября 2012, 13:06:24 от chuikoff »
Я

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
если вы работатете с tpl шаблонами то макрос %data doSelection()% решит ваш вопрос, прочитайте по нему, если не получиться пишите.

Если работатет с xslt, то на форуме уже обсуждались такие случаи, например тут http://umihelp.ru/forum/index.php/topic,539.msg1560.html#msg1560

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
Мы видимо по-разному смотрим на решение задачи. Я написал скрипт, он всё нормально выводит в файле. Я получаю данные в xml, либо json, но проблема в том что не получается спарсить json, и с xml тоже, чтобы сразу в скрипте использовать данные.

Кстати, как в шаблон потом вставить этот скрипт. xslt
Я

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
Может быть есть более простой способ получить картинку по id страницы например?
Я

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля

Цитировать
Я написал скрипт, он всё нормально выводит в файле
то есть вы написали свой кастом? или вы все же пользуетесь usel протоколом?

Цитировать
Я получаю данные в xml, либо json, но проблема в том что не получается спарсить json, и с xml тоже, чтобы сразу в скрипте использовать данные

как вы вызываете эти данные (и какой технологией в шаблоне или через js или еще как) какие данные к вам приходят и что вы хотите получить в итоге?


*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов

то есть вы написали свой кастом? или вы все же пользуетесь usel протоколом?

как вы вызываете эти данные (и какой технологией в шаблоне или через js или еще как) какие данные к вам приходят и что вы хотите получить в итоге?



У меня написан скрипт, который обращается к результату который выдаёт usel протокол, просто сторонний файл с file_get_contents()

Приходят ко мне данные такие:

<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="usel" method="get-page" generation-time="0.027290">
  <page id="78" parentId="75" link="/menu/salad/russkij_raznosol/" is-active="1" object-id="389" type-id="111" update-time="1346213250" alt-name="russkij_raznosol" xlink:href="upage://78">
    <basetype id="24" module="news" method="item">Новости</basetype>
    <name>Русский разносол</name>
  </page>
  <total>1</total>
</udata>
<!-- This page generated in 0.150447 secs -->

Но в этих данных нет значений полей, или картинки.

Я тут ещё нашёл фреймворк uf.php, насколько я понял, я могу в соседней директории создать приложение, обращаться к фреймворку, брать данные из БД даже без протокола usel, и получать все данные, а потом в шаблоне подключить этот скрипт?! Как подключаются сторонние скрипты, с помощью какой команды xslt?
Я

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
И как открыть доступ по url к своему стороннему скрипту?
Ещё вижу что можно просто подключить к стороннему скрипту файл standalone.php и с помощью его API делать выборки.
« Последнее редактирование: 04 Сентября 2012, 04:15:40 от chuikoff »
Я

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Оу-оу-оу какой-то очень обходной путь вами выбран.
Подытожим, вам надо своим макросом сделать выборку и как-то обработать результаты выборки. Я правильно вас понял?

Если да, то пишите макрос например в файле /classes/modules/custom.php (данный макрос не будет требовать разрешений на свое выполнение) и там уже работаем с выборкой средствами API

Вам нужен selector или umiSelection (в чем разница я описывал в одной из статей на сайте umihelp.ru). Документацию по selector ищите на wiki.umisoft.ru , а документацию по umiSelection ищите на api.umi-cms.ru

после того как разберетесь как делать запрос и получить массив данных, вам надо перебрать этот массив и получив id страницы (если вы работали через umiselection, так как selector сразу возвращает страницу) получить по ней саму страницу(пусть страница будет в итоге храниться в переменной $page)

Из страницы вы можете вытянуть значение любого поля, допустим у вас есть поле Фотография (fotografia), тогда чтобы получить значение данного поля пишем следующее:
$page->fotografia; или $page->getValue('fotografia'); 

подробнее смотрите тут

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
Re:Получение данных страницы по значению до&#
« Ответ #12 : 04 Сентября 2012, 06:02:17 »
А я могу по URL обращаться к моему методу в файле custom.php ??
Я

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
если через udata протокол то да , тогда обращение к макросу с названием ggg будет таким http://site.ru/udata://custom/ggg

*

chuikoff

  • *
  • 22
  • +0/-0
    • Просмотр профиля
    • Разработка сайтов
Хорошо, попробую таким методом. И всё же, как подключить сторонний скрипт в шаблон?
Я