• avatar Actek
  • 0
Вызов:
<div id="inputArea">
[!checkField!]
[!eForm? &formid=`contact-form` &tpl=`form-tpl` &report=`report-tpl` &thankyou=`thank-tpl` &eformOnValidate=`checkField` &subject=`Сообщение с сайта [(site_name)]`!]
</div>

Сниппет checkField:
<?php
if(!defined('MODX_BASE_PATH')){die('What are you doing? Get out of here!');}
function checkField(&$fields,&$vMsg,&$rMsg) {
    if(!empty($fields['lastname'])) {
        return false;
    } else {
    return true;
    }
}
?>

form-tpl:
[+validationmessage+]
<form method="post" action="[~[*id*]~]">
<fieldset>
<input type="hidden" name="formid" value="contact-form" />

<p>Ваше имя:*
<input type="text" name="name" size="40" maxlength="60" eform="Ф.И.О.::1" /></p>

<p>Ваш еmail:*
<input type="text" name="email" size="40" maxlength="40" eform="Адрес электронной почты:email:1" /></p>

<p>Текст сообщения:
<textarea cols="40" rows="10" name="comments" eform="Текст сообщения:html:1" ></textarea></p>

<input type="text" id="lastname" name="lastname" />
<br /><br />
<p><input type="submit" name="submit" class="submit"  value="Отправить"></p>
</fieldset>
</form>

report-tpl:
<p>Это сообщение было отправлено посетителем по имени [+name+] с помощью формы обратной связи. </p>
<table>
<tr valign="top"><td><b>Имя:</b></td><td>[+name+]</td></tr>
<tr valign="top"><td><b>Email:</b>:</td><td>[+email+]</td></tr>
<tr valign="top"><td><b>Сообщение:</b></td><td>[+comments+]</td></tr>
</table>
<p>Вы можете использовать эту ссылку для ответа: <a href="mailto:[+email+]?subject=RE:[+subject+]">[+email+]</a></p>

thank-tpl:
<strong>Спасибо, что воспользовались формой обратной связи на нашем сайте.</strong>

По началу думал что из-за сниппета проверки убрал- всёравно не работает.
  • avatar Dmi3yy
  • 1
Это потому что в снипете вы используете
Echo а не return

Допишите последней строкой
Return '';
И 1 не будет
  • avatar Redjik
  • 0
Ага, понял, ладно.
И какие данные отправляете. Взял димину сборку, поставил плагин вызывал демонстрационный чанк {{feedback}}

Все нормальные данные отправились отлично. Попробовал подставить фразу из запрещенного списка — сразу скрипт вывалился в «Hacker detected!!! o,O»
покажите сопровождающие чанки и сниппеты.
Покажите вызов e-form и сопровождающие чанки/сниппеты
  • avatar argnist
  • 0
Планы по версии 2.x хорошие:
— улучшить документацию
— MIGX функциональность в ядре
— динамические урлы
— полное хранение элементов в файлах
— улучшение понятности для пользователей изменений политик доступа
— сделать легче/лучше управление компонентами и зависимостями между ними
— управление версиями
— publishing workflow (это я не понял, что такое)
  • avatar Actek
  • 0
При включённом плагине не даёт отправить письмо через eform.
Сразу пишет «Hacker detected!!! o,O»
modx.im/blog/questions/218.html
У меня вопрос на 2 мульена. Я уважаю твое желание показаться умным, но кому это вообще нужно кроме тебя? Ну реально. Намек ясен?

Хотя не, не буду хамить:-) Я никому не навязываю его. Нужен — бери. Не нужен — лесом. Кому нужен — тот знает зачем использует этот плагин. Кому нет — тот спрашивает для чего я экономлю 1кб.
  • avatar Redjik
  • -1
У меня вопрос на мильон. Я уважаю твой труд. Но зачем он вообще нужен, этот плагин? =) Ну реально, сэкономить 1кб?
  • avatar Redjik
  • 0
Вот мы и пришли к правильному вопросу. Что нужно прочитать. Единственная нормальная книга для новичков — Котеров (кстати создатель денвера). Все остальные проблемы из-за того, что народ учится по реально плохим материалам. Примеры не буду приводить =)

Как его прочитаешь, поговорим про ООП, посоветую следующие книги =) Но дальше, кончено Фаулера надо читать.
  • avatar Dmi3yy
  • 2
Ленг в чанке удобно но зачастую все 2 языка и хочется все писать прям в Шаблоне
немного перекроил снипет

<?php
// снипет засисит от allias самого верхнего документа нужно использовать ru и en 
// можно использовать и другое но тогда изменить последние 2 строки в снипете
// так же можно добавлять еще другие языки если что 
// пример  [[swith? &ru=`Русский` &en=`English`]]
$top= isset ($top) && intval($top) ? $top : 0;
$id= isset ($id) && intval($id) ? intval($id) : $modx->documentIdentifier;
$topLevel= isset ($topLevel) && intval($topLevel) ? intval($topLevel) : 0;
if ($id && $id != $top) {
    $pid= $id;
    if (!$topLevel || count($modx->getParentIds($id)) >= $topLevel) {
        while ($parentIds= $modx->getParentIds($id, 1)) {
            $pid= array_pop($parentIds);
            if ($pid == $top) {
                break;
            }
            $id= $pid;
            if ($topLevel && count($modx->getParentIds($id)) < $topLevel) {
                break;
            }
        }
    }
}
//получаем псевданим документа 
$txt = $modx->getDocument($id,'alias');

if ($txt['alias'] == 'ru') {return $ru;}
if ($txt['alias'] == 'en') {return $en;}
?>
  • avatar Dmi3yy
  • 1
Можно меняем документ парсер в modx и будет кеширование с GET
  • avatar MisterN
  • 0
Спасибо огромное, то что надо, обязательно попробую сборку
Я выше имел ввиду эти фильтры modx-cms.ru/dokumentatsiya/dokumentacziya-evo/razrabotka/snippety/ditto/parametry-ditto/filter.html
Скажите, а ведь можно же это сделать в стандартном modx? Я про кеширование с GET?
  • avatar Dmi3yy
  • 1
SHK в сборке работает на ура
простой пример GET это пагинация
просто создается уже не 1 файлик кеша а несколько
  • avatar Actek
  • 1
Спасибо за плагин.
P.S.Для Evo условие дописал так:
if($modx->event->name=='OnWebPagePrerender'){
    $flag=true;
  if(isset($tvHtmlInLine) && (int)$tvHtmlInLine>0){
     $tv=$modx->getTemplateVarOutput(array($tvHtmlInLine));
     if($tv['HtmlInLine']==0){
           $flag=false;
     }
  }
  if($flag){
      $content = $modx->documentOutput;
      $content= preg_replace('|\s+|', ' ', $content);
      $modx->documentOutput = $content;
  }
}

По идее работает)
  • avatar Serg28
  • 0
Поставил себе текущую версию клиппета, понравилось. Не знаю почему, но мне показалось, что в админке он работает намного быстрее. Да и список доработок довольно внушительный и обнадеживающий. Серьезно, очень рад, что ветку EVO не забросили, хотя бы энтузиасты. Хотелось бы поучаствовать посильно в работе над клиппером, но катастрофически не хватает времени. Может хотя-бы своими наработками поделюсь.
Точно) Спасибо, там раньше форум был, но наверное я его убил вместе c WP
Ссылка на форум битая со страницы darunok.pp.ua/gifts/sweet-bouquet-of-roses.html
Не поверите, я тоже с ними так общаюсь;-) Ну а если уж все равно совесть не позволяет — пишите тут свой опыт (можете даже топик для этого создать). Наберется достаточное число отзывов — оформим все одним коллективным письмом от русскоязычного сообщества и отправим.