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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Byte

Страницы: [1]
1
Разработка модулей / Проблема с CRON
« : 21 Сентября 2014, 12:56:16 »
Всем привет!

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

$pages = new selector('pages');
$pages->types('hierarchy-type')->name('news', 'item');
$pages->where('is_active')->notequals(false);
$pages->where('end_time')->eqless(time());
foreach ($pages as $page){
$page->setIsActive(false);
$page->commit();
}

после чего я изменил тип данных новостей на свой, код получился следующий

public function checkFinish(){
        $this -> sendNotifications(); //тут я отправляю себе на почту письмо
        $pages = new selector('pages');
        $pages->types('hierarchy-type')->name('mymodule', 'mymethod');
        $pages->where('is_active')->notequals(false);
        $pages->where('end_time')->eqless(time());
        foreach ($pages as $page){
                $page->setIsActive(false);
                $page->commit();
        }
}

mymodule и mymethod соответствуют типу в настройках шаблонов данных.

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

2
Установка UMI.CMS / Установка UMI.CMS 3.0
« : 02 Сентября 2014, 11:29:29 »
Привет форумчане, кто нибудь уже ставил трешку? У меня при попытке ее установить все тормознулось не начавшись, залил как обычно установщик на сервер, ввожу http://www.мой-домен.ru/install.phar.php и не получаю ровно ничего кроме белого экрана, при этом установщик двушки срабатывает как часы. Думал, конечно, что конфигурация сервера не та, но уж стартовый-то экран с полем ввода лицензии-то должен появиться...

3
Ребят, кому не трудно, скиньте стандартный шаблон demodizzi, а то не могу его найти последней версии. Ну и попутно вопрос, может кто сталкивался, какого лешего на локалпак под win 7 sp3, 8, 8.1 не устанавливается юми? Пишет сервер не соответствует требованиям.

4
Шаблоны XSLT / XSLT шаблон писем
« : 06 Мая 2014, 10:02:44 »
Подскажите, пожалуйста, возможно ли написать единый шаблон для писем всех форм обратной связи, скажем с фиксированной темой, может даже отправителем и в теле письма все поля формы, представленные в определенном формате.

Думаю что нужно смотреть в направлении /templates/{мой_шаблон}/xslt/mail

Но вроде бы этот шаблон обрабатывает уже сформированное письмо.

5
Продолжаю разрабатывать свой модуль, застопорился на выводе данных в xml виде, опять же делаю по примеру из доков, но почему-то макрос не выводит самих страниц, количество выводит, а итемы нет, вот код макроса:

public function allpages($template = "default") {
$sel = new selector('pages');
 if(!$template) $template = "default";

list($template_block, $template_line) = $this->loadTemplates("./tpls/MyPages/{$template}.tpl", "pages_block", "pages_block_line");

            $oHierarchy = umiHierarchy::getInstance();

            $per_page = 20;
            $curr_page = (int) getRequest('p');

            $block_arr = Array();
           
            $sel = new selector('pages');
            $sel->types('hierarchy-type')->name('MyPages', 'MyPage');
            $sel->limit($per_page, $curr_page);

            $result = $sel->result();
            $total = $sel->length();

            $lines = Array();
            foreach($result as $element_id) {
             
                $line_arr = Array();

                $element = $oHierarchy->getElement($element_id);
               
                $line_arr['attribute:id'] = $element_id;
                $line_arr['node:content'] = "This is item";
               
                templater::pushEditable("MyPages", "MyPage", $element_id);

                $lines[] = self::parseTemplate($template_line, $line_arr, $element_id);
            }
            $block_arr['subnodes:items'] = $lines;

            $block_arr['per_page'] = $per_page;
            $block_arr['total'] = $total;

            return self::parseTemplate($template_block, $block_arr);         
}

если это важно, то шаблон /tpls/MyPages/default.tpl существует, но он пуст

Буду всем благодарен за помощь =)

6
Всем привет!
Впервые взялся за разработку собственного модуля для UMI, делаю по примерам из документации, так же из примеров взял код создания страниц, но при его выполнении почему-то создаются 2 одинаковые страницы, разница только в псевдостатическом адресе, у 2й дописывается единица. В чем может быть дело?

Вот код:
public function newMyPage() {
//Определим свойства страницы, которую будем создавать
 $newElementName = $_POST["caption"];

 $hierarchy = umiHierarchy::getInstance();
 $newElementAltName = $hierarchy->convertAltName($newElementName); ;
 
 //Получим иерархический типа страницы - "Новость"
 $hierarchyTypes = umiHierarchyTypesCollection::getInstance();
 $hierarchyType = $hierarchyTypes->getTypeByName("MyPages", "MyPage");
 $hierarchyTypeId = $hierarchyType->getId();
 
 $hierarchy = umiHierarchy::getInstance();
 
 //Получим id родительской страницы
 $parentElementId = 0;
 
 //add new element
 $newElementId = $hierarchy->addElement($parentElementId, $hierarchyTypeId, $newElementName, $newElementAltName);
 if($newElementId === false) {
  echo "Не удалось создать новую страницу";
 }
 
 //Установим права на страницу в состояние "по умолчанию"
 $permissions = permissionsCollection::getInstance();
 $permissions->setDefaultPermissions($newElementId);
 
 //Получим экземпляр страницы
 $newElement = $hierarchy->getElement($newElementId);
 
 if($newElement instanceof umiHierarchyElement) {
  //Заполним новую страницу свойствами
  $newElement->setValue("h1", $newElementName);
 
  //Укажем, что страница является активной
  $newElement->setIsActive(true);
 
  //Подтвердим внесенные изменения
  $newElement->commit();
 
  //Покажем адрес новой страницы
  echo "Успешно создана страница с адресом: \"", $hierarchy->getPathById($newElementId), "\"";
 } else {
  echo "Не удалось получить экземпляр страницы #{$newElementId}.";
}
}

7
Шаблоны XSLT / upage://url
« : 17 Апреля 2013, 14:04:50 »
здравствуйте, такая проблема, при попытке запроса по протоколу upage и передаче ему url (http://сайт/upage/main) а не id вылезает ошибка

This page contains the following errors:
error on line 2 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.

в случае с id (http://сайт/upage/1) все нормально, подскажите в чем может быть проблема?

8
ребят, помогите плиз, я изначально на сайте правил шаблон данных "список адресов", в остальном делал все, как обычно, но теперь сообщение не отправляется, вызывается макрос webforms/send доходит до вызова функции отправки $oMail->send(); и на этом все, в браузере страница http://сайт/webforms/send/ и чистая само собой страница, если посмотреть udata, то там <udata generation-time="0.0">
<error>
<![CDATA[ Can't find error redirect string ]]>
</error>
</udata>
шаблон данных вернул назад никакого эффекта, при этом всем в целом макрос отрабатывает, в админке сообщения появляются

9
Подскажите пожалуйста товарищи форумчане как можно решить такую задачу:
имеется каталог товаров, у каждого вида товара свой набор характеристик, соответственно имена полей и их количество разные, хотелось бы набросать универсальный шаблон для вывода всех характеристик товара, догадываюсь что это можно сделать при помощи конструкции for-each, но вот в таком виде
	
<xsl:for-each select="document(concat('upage://', @id, '.characteristics'))">
<xsl:value-of select="."/>
</xsl:for-each>

результат получается "не найдено", хотя по сути все характеристики там есть. Заранее спасибо!

Страницы: [1]