Добрый день. Подскажите пожалуйста, где настроить почту, НА КОТОРУЮ будут приходить сообщения с формы обратной связи сайта?
Что я предпринимал, чтобы добиться результата — В настройках системы в параметре emailsender указал требуемую почту — не помогло. — На всякий случай попробовал указать для всех пользователей (не клиентов — admin, manager и т.п.) свою почту — Хотел указать почту в обработчике формы обратной связи, но там стоит action=«contacts.html?action=submit» — по сути текущая страница (не программист к сожалению; был уверен, что обработчик — это отдельный php файл, в котором можно указать требуемую почту в том числе)
Смотрите, вот у вас в сниппете идет получение документа:
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('resource_id')));
А в форме у вас есть поле:
<input type="hidden" name="resource_id" value="[[*id]]" />
Конечно, в форму добавляется ID текущего документа, и он апдейтится, а не создается новый. Уберите поле resource_id, если создаваться должен, а не обновляться.
По поводу обновления до последней/прошлой версии: все-таки многое зависит от того, что вы переопределяли в своих расширенных процессорах и т.п. Напомню — бекапы рулят. К примеру, если вы редактировали процессоры самой сборки, то конечно же апдейт их затер. Ежели вы дописали какие-то свои дополнительные процессоры, то ничего не должно было с ними случиться.
Это обновление будет происходить в будущем?
Обновления в будущем конечно же будут появляться, но повторюсь: во-первых, и от вас будет многое зависеть. Во-вторых, и мы будем стараться, чтобы обратная совместимость улучшалась.
И почему для него нельзя задействовать пакеты, чтобы обновил все до новых версий в управлении пакетами — и радуешься?
Для чего-то есть пакеты, а для чего-то нет. К примеру, пакет modxSite можно с большой долей вероятности накатывать через управление пакетами. Его родные процессоры в папке processors/site/ лежат, а доппроцессоры сборки лежат в processors/web/. processors/site/ не рекомендуется трогать вообще никогда, ибо затрется при обновлении. А в processors/web/ можете менять при необходимости, но если хотите накатить обновления — проверяйте внимательно. Почему не все в пакетах и не все универсально — у всего есть две стороны медали. Универсальность/гибкость/производительность — это примерно как быстро/качественно/дешево.
По поводу шаблонов: если хотите, можете полностью делать копию основного шаблона и работать только с ней. Но лучше все-таки работать с допскинами. При чем если вы хотите максимально снизить риски, но получить преимущество обновлений, вы можете сделать копию основного шаблона и добавить свой кастомный скин поверх, расширяющий основной шаблон. А когда будут выходить обновления, вы уже сами будете решать какие изменения в основной шаблон накатывать, а какие нет. Но, как я и говорил, обновления в основной шаблон сейчас будут добавляться очень осторожно, с сохранением основных блоков и т.п.
Я уже неудачно пробовал обновиться до прошлой версии вчера. Взял файлы с гитхаба, заменил — но обновление не прошо удачно, все переопределенные процессоры глючили. причем, если в корзине был заказ — то все ок, а если нет, то не работает все, что ниже корзины. Причем аджаксовый каталог отрабатывает, там же нету корзины. Вероятно, надо было сначала выпелить все упоминания о сборки из папок core, manager ну и где оно упоминается. И вот я теперь побаиваюсь новых обновлений. Это обновление будет происходить в будущем? И почему для него нельзя задействовать пакеты, чтобы обновил все до новых версий в управлении пакетами — и радуешься? То, что я дальше напишу конечно стоило бы отложить до того, как я покручу новую сборку, но раз уж начал писать, то заодно. Наверно изменения с шаблонами направлены на более удобное обновление, но когда наши темплейты site были абсолютно автономны от shopmodx мы уверены, что там то, что нужно нам. Даже если этого нет в сборке. И ничего, что не нужно. То, что появится что-то не нужное на самом деле не очень страшно. Все таки не программисты-то неплохие добавляют, говно не подбросят ))) Страшно, что ты не сможешь прикрутить что-то свое т.к. шаблоны site уже не самостоятельны. Вот что тоже пугает.
Дорогие друзья, здравствуйте, очень надеюсь на вашу поддержку, разрешить на первый взгляд вроде бы простую задачу. Для информации: новичек в MODX, на данный момент работаю с MODX Revolution 2.3.2-pl (traditional).
Ситуация такая, стараюсь реализовать функционал, добавления ресурсов пользователями из фронтэнд НЕОГРАНИЧЕННОЙ ВЛОЖЕННОСТИ. Что бы они сами могли создавать ресурс, и в него добавлять другие ресурсы, и так далее. Нашел сниппет в сети formit2resource и использую его в связке с FormIt. Все вроде хорошо, но только до 2 уровня вложенности.
Например: РЕСУРС ОТЕЦ Ресурс пользователя 1 Ресурс пользователя 1 Ресурс пользователя 2 Ресурс пользователя 2
И если попробовать добавить подресурс для ресурса 2 уровня, то он его просто перепишет и ничего не вложит. Как решить эту проблему? Как лучше сделать? Куда копать?
Вот вызов формит:
[[!FormIt? &hooks=`formit2resource,redirect` &redirectTo=`[[*id]]` &template=`15` ]]
Вот сама форма:
<form id="add" action="[[~[[*id]]]]" method="post"> <input type="hidden" name="resource_id" value="[[*id]]" /> <input type="hidden" name="parent" id="parent" value="[[*id]]" /> <input type="hidden" name="published" id="published" value="1" /> <input type="hidden" name="hidemenu" id="hidemenu" value="1" /> <input type="hidden" name="cacheable" id="cacheable" value="0" /> Название: <input type="text" name="pagetitle" id="pagetitle" class="form-control" value="[[+fi.pagetitle]]" /> Описание: textarea id="content" name="content" class="form-control" style="height:150px;" <input type="submit" name="submit" style="margin-top:20px;" class="btn btn-yellow" value="Добавить" /> </form>
А вот сам сниппет formit2resource:
<?php $doc = $modx->getObject('modResource',array('id'=>$hook->getValue('resource_id'))); if (empty($doc)){ $doc = $modx->newObject('modResource'); $doc->set('createdby', $modx->user->get('id')); } else{ $doc->set('editedby', $modx->user->get('id')); } $allFormFields = $hook->getValues(); foreach ($allFormFields as $field=>$value) { if ($field !== 'spam' && $field !== 'resource_id'){ $doc->set($field, $value); } } $alias = $doc->cleanAlias($fields['pagetitle']); if($modx->getCount(modResource, array('alias'=>$alias))!= 0) { $count = 1; $newAlias = $alias; while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) { $newAlias = $alias; $newAlias .= '-' . $count; $count++; } $alias = $newAlias; } $doc->set('alias',$alias); $doc->set('template', $template); $doc->save(); foreach ($allFormFields as $field=>$value) { if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field))) { /* handles checkboxes & multiple selects elements */ if (is_array($value)) { $featureInsert = array(); while (list($featureValue, $featureItem) = each($value)) { $featureInsert[count($featureInsert)] = $featureItem; } $value = implode('||',$featureInsert); } $tv->setValue($doc->get('id'), $value); $tv->save(); } } $modx->cacheManager->refresh(); return true;
Помогите пожалуйста друзья!
Собственно, советую сначала прочитать здесь: modx.pro/hosting/4620-assembly-shop-shopmodxbox-on-modhost.pro/ Работает все очень шустро :) Есть возможность бесплатно потестить. Регистрация и установка ShopModxBox заняла у меня минуты 2-3, и то потому что никуда не торопился. Почта, логин пасс — и в путь. Так что у кого возникали проблемы с установкой сборки, а погонять ее хотелось — верный путь на modhost.pro
UPD: Не буду отказываться от своих слов на счет скорости работы сайтов на modhost.pro, но как и на всяком хостинге, там тоже бывают свои тонкости и есть моменты по важному для любого специалиста вопросу — работе саппорта. Вот наглядный пример: modx.pro/hosting/4606-new-modhost.pro/#comment-34048