Алексей

Алексей

С нами с 17 декабря 2012; Место в рейтинге пользователей: #571
12 мая 2013, 10:00
0
Спасибо за замечания, на коленке писал, торопясь, надо у себя поправить.

А насчет проверки — мне она не была нужна, поэтому даж чето и не думал об этом.
12 мая 2013, 09:12
1
0
О, я такое делал, все просто.

В чанке создания/редактирования тикета заменяем select на другой:
<select name="parent" >[[!getSectionsList]]</select>
И создаем сниппет getSectionsList с примерно такм кодом (только на 16 строке необходимо поменять условие, там задан родитель «0» и в моем случае template):
<?php
$tpl = '<option value="[[+id]]" [[+selected]]>[[+title]]</option>';
$current = 0;
if(isset($_REQUEST['parent'])){
    $current = intval($_REQUEST['parent']);
}
else if(isset($_REQUEST['tid'])){
    $post = $modx->getObject('modResource', intval($_REQUEST['tid']));
    if($post != null){
        $current = $post->get('parent');
    }
}

$q = $modx->newQuery('modResource');
$q->where(array('parent' => 0, 'template' => 16, 'published' => 1, 'deleted' => 0));
$q->sortby('menuindex', 'ASC');
$parents = $modx->getCollection('modResource', $q);
$parentsIds = array();
foreach($parents as $parent){
    $parentsIds[] = $parent->get('id');
}

$q = $modx->newQuery('modResource');
$q->where(array('parent:IN' => $parentsIds, 'template' => 14, 'published' => 1, 'deleted' => 0));
$q->sortby('menuindex', 'ASC');
$blogs = $modx->getCollection('modResource', $q);

$output = array();
foreach($parents as $parent){
    $output[] = '<optgroup label="'.$parent->get('pagetitle').'">';
    $pid = $parent->get('id');
    foreach($blogs as $blog){
        if($blog->get('parent') == $pid){
            $selected = $current == $blog->get('id') ? 'selected="selected"' : '';
            $option = str_replace('[[+title]]', $blog->get('pagetitle'), $tpl);
            $option = str_replace('[[+id]]', $blog->get('id'), $option);
            $option = str_replace('[[+selected]]', $selected, $option);
            $output[] = $option;
        }
    }
    $output[] = '</optgroup>';
}
return implode("\n", $output);
26 апреля 2013, 22:20
0
rtfm.modx.com/display/ADDON/getResourceField
Но каждый его вызов — это запрос в БД, поэтому подумайте, прежде чем делать таким способом меню.
17 апреля 2013, 16:44
0
Если я правильно понял, то речь идет про комментарии :)

Вообще для такой цели надо использовать параметр thread, задав его в первом случае reviews-[[*id]], во втором questions-[[*id]], где [[*id]] — соответственно id ресурса.



Ну а вкладки организовать просто на javascript.
11 апреля 2013, 16:54
0
Осталось разобраться с ExtJs.

В принципе у меня custom tv, и в html код я могу написать любой скрипт.

Перезагрузить страницу я могу так:
MODx.loadPage('index.php?bla-bla-bla);
И это действие должно висеть на событии, возникающем после сохранения ресурса. Это мне сейчас не под силу =) Не писал на extjs ничего.
09 апреля 2013, 16:07
0
Пускай живет с неработающим сайтом. Не надо брать на себя проблемы других. У MODx есть требования к хостингу, хочешь рабочий сайт — найди рабочий хостинг. И кодировка только UTF-8! Проблем с ней нет.
08 апреля 2013, 17:13
0
Спасибо, я ниже только что написал, как справился. Небольшая проблема еще и с этим плагином была.
08 апреля 2013, 17:12
0
Совладал вроде:
1. Выпилил из тикетс функционал назначения шаблона (поиск в пакете по слову «default_template»).
2. Плагин ChangeTemplate — в начале идет получение переменной из $_REQUEST['id'] — меняем на $_REQUEST['parent']. Т.к. при создании ресурса в GET строку добавляются переменные и id и parent, а при создании тикета — только parent
08 апреля 2013, 16:54
0
1. Угу, чет я попутал.

2. Ну собственно ChangeTemplate — это и есть нужный плагин, срабатывает на OnDocFormRender, выставляя нужный шаблон (кстати, еще ДО сохранения ресурса, что удобно администраторам, т.к. они сразу видят все нужные TV поля). Да вот тикетс видно сбрасывает этот выставленный шаблон.
04 апреля 2013, 10:38
0
Только что проверил:
1. Создал товар, написал название
2. Нажал сохранить — плагин переопредилил alias сделав его числом, в админке это отразилось, код плагина:
if ($modx->event->name == 'OnDocFormSave') {
  $template = $resource->get('template');
  if ($template == 3) {
    $resource->set('alias', $id);
    $resource->save();
  }
}
3. Жму в админке «Просмотр» — открывается товар, а в url стоит старый alias (тот, который сгенерировался из названия товара)
4. Сохраняю еще раз, жму просмотр, уже новый alias.
04 апреля 2013, 10:26
0
Да, туплю =(
И, кстати, про плагины.
У меня стоит плагин на изменение alias, висит на OnDocFormSave.
Работает с товарами через раз. Я сейчас как товар добавляю: Создал, написал название товара, сохранил, добавил картинку. Открываю на сайте — а alias не поменялся. А вот если перед добавлением картинки еще нажать сохранить — то меняется :) В общем еще не до конца сам разобрался, почему глючит.
04 апреля 2013, 10:07
0
А можно ли отключить визуальный редактор в miniShop, но оставить его на обычных страницах?
04 апреля 2013, 09:44
0
Думаю что скорее всего заработает =)
Но без ajaxManager очень уж тяжко! Ты сам не используешь их в связке? Некоторое время назад ты писал, что эти 2 дополнения будут совместимы.
03 апреля 2013, 09:25
0
Попробуй пойти по другому пути. Почитай community.modx-cms.ru/blog/tips_and_tricks/8733.html и создавай альбомы в дереве ресурсов, а не в компоненте Gallery. Соответственно проблем с навигацией по альбомам не будет, будешь просто производить навигацию по ресурсам.
28 февраля 2013, 16:32
0
Как то не совсем.
[[+content]] в чанке tpl.Tickets.list.row присутсвует и подставляется, но судя по всему Jevix по нему еще не прошелся.

По крайней мере тег video не обработанным выводится!
28 февраля 2013, 16:01
0
Прочитал, спасибо за ссылку.

На моем сайте складывается ситуация, что большинство тикетов будет короткими, без использования cut, он там просто не нужен, обрезать нечего по сути. В итоге в списке тикетов только заголовки, а когда открываешь тикет — видишь всего то 1-2 предложения.
27 февраля 2013, 10:16
0
Блок «Пожалуйста, привяжите эти сервисы к своей учетной записи при помощи HybridAuth.» это просто еще один вызов сниппета HybridAuth
01 февраля 2013, 09:47
0
Вчера перевел один сайт на HybridAuth, все получилось, здорово, проблем особо не было.
Конечно замучается регистрироваться во всех соц сетях, что бы получить ключи)))

Спасибо Василию!
30 января 2013, 14:32
0
ok
ok
ok
ok
=)
я проверил, да наверное не в том месте :) При предпросмотре комментария пола вроде не было =)