Денис Мавлютов
С нами с 02 февраля 2017; Место в рейтинге пользователей: #1537Журнал ошибок показывает что fenom не может обратиться к pagetitle
            Не могу понять где найти ошибку. У меня всего несколько мест что используют pagetitle, но удаление этих моментов не помогает решить проблему 
        
        
        
        
    FetchIt выдает ошибку в консоли Uncaught ReferenceError: FetchIt is not defined
            FetchIt выдает ошибку в консоли Uncaught ReferenceError: FetchIt is not defined и отправка формы перезагружает страницу. 

Пакет версии 3.1.2
UPD:
Обратил внимание что в html не добавляется файл fetchit.js
        
        
        
    
{'FetchIt' | snippet : [
      'snippet' => 'FormIt',
      'form' => 'subscribe.tpl',
      'emailTpl' => 'subscribe.mail.tpl',
      
      'hooks' => 'spam,email,FormItSaveForm',
      
      'emailSubject' => 'Подписка на статьи',
      'emailTo' => '****@yandex.ru',
      
      'validate' => 'name:required,email:required',
      'validationErrorMessage' => 'В форме содержатся ошибки!',
      
      'successMessage' => 'Сообщение успешно отправлено!',
    ]}Пакет версии 3.1.2
UPD:
Обратил внимание что в html не добавляется файл fetchit.js
<script src="./assets/components/fetchit/js/fetchit.js?v=3.1.1" defer></script>        Не создает файл Word через Hook в AjaxForm
            Я написал php код в отдельном файле и сохранил его на сервере. Его задача подтягивать поля из формы и создавать Word документ через PhpWord. 
Если отправлять форму указывая путь к PHP файлу в Action, то всё работает нормально, но по хорошему, надо сделать через hook в админке modx.
Я попробовал просто вставить код в созданный мной сниппет и подключить его к hook`ам в AjaxForm
Так не работает и спустя несколько часов поиска я решил сюда отписать.
В «Журнале ошибок» пусто.
Я не спец в php, обычно мелкие правки вносил и пользуюсь готовыми решениями.
По задаче, мне нужно будет отправить сгенерированный файл по почте и потому решил сделать через AjaxForm, чтобы отдельно обработчик не писать. Во первых — я нуб в этом, во вторых — мне кажется так будет правильно.
        
        
        
    Если отправлять форму указывая путь к PHP файлу в Action, то всё работает нормально, но по хорошему, надо сделать через hook в админке modx.
Я попробовал просто вставить код в созданный мной сниппет и подключить его к hook`ам в AjaxForm
Так не работает и спустя несколько часов поиска я решил сюда отписать.
В «Журнале ошибок» пусто.
<?php
   // что-то там с валидацией, без него вроде дальше по хукам не проходит и форма не отправится. 
   $output = true;
   
   // путь к каталогам, для сокращение ссылок 
   $path = '/var/www/*****/data/';
   
   require $path . 'vendor/autoload.php';
   $document = new \PhpOffice\PhpWord\TemplateProcessor($path . "www/*****/phpword/brif_template.docx");
   
   // По инструкции из PhpWord 
   $uploadDir = __DIR__;
   $outputFile = 'review_full.docx';
   
   
   // Подтягиваем поля из форм
   $campony_name = $hook->getValue('campony_name');
   $document->setValue('campony_name', $campony_name);
   
   $contact_name = $hook->getValue('contact_name');
   $document->setValue('contact_name', $contact_name);
   
   $current_site = $hook->getValue('current_site');
   $document->setValue('current_site', $current_site);
   
   $region = $hook->getValue('region');
   $document->setValue('region', $region);
   
   $phone = $hook->getValue('phone');
   $document->setValue('phone', $phone);
   
   $mail = $hook->getValue('mail');
   $document->setValue('mail', $mail);
   
   $business_line = $hook->getValue('business_line');
   $document->setValue('business_line', $business_line);
   
   $competitors = $hook->getValue('competitors');
   $document->setValue('competitors', $competitors);
   
   
   // Сохраняет на сервере
   $document->saveAs($outputFile);
   
return $output;<section class="main__request request" style=" margin: 100px auto; ">
   <div class="request__container container">
      <div class="request__inner">
         <div class="request__form" style=" margin: 0 auto; ">
            
            [[!AjaxForm?
               &snippet = `FormIt`
               
               &form = `brifForm.tpl`
               &emailTpl = `brifMail.tpl`
               
               &hooks = `PHPWordForm,spam,email,FormItSaveForm`
               
               &fromName = `Запись онлайн`
               &formFields = `mail,phone`
               &fieldNames = `mail==E-Mail,phone==Телефон,campony_name==Сообщение`
               
               &emailFrom = `[[++email_from]]`
               &emailFromName = `Форма обратной связи`
               &emailSubject = `Заявка со страницы - [[*pagetitle]]`
               &emailTo = `t2nda@yandex.ru`
               
               
               &validationErrorMessage = `В форме содержатся ошибки!`
               
               &successMessage = `Спасибо за обращение в нашу компанию! 
Менеджер свяжется с вами в ближайшее время`
            ]]
      </div>
   </div>
</section><form
   class="request__form form"
   action="[[~[[*id]]? &scheme=`full`]]"
   enctype="multipart/form-data"
   method="POST"
>
   
   <div class="form__field">
      <input type="text" class="form__input" name="campony_name" placeholder="campony_name">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="contact_name" placeholder="contact_name">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="current_site" placeholder="current_site">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="region" placeholder="region">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="phone" placeholder="phone">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="mail" placeholder="mail">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="business_line" placeholder="business_line">
   </div>
   <div class="form__field">
      <input type="text" class="form__input" name="competitors" placeholder="competitors">
   </div>
   
   
   <button class="form__button button button--rounded button--vertical-gradient button--light-blue-blue-gradient" type="submit">
      <span>
         Оставить заявку
      </span>
   </button>
   
</form>Я не спец в php, обычно мелкие правки вносил и пользуюсь готовыми решениями.
По задаче, мне нужно будет отправить сгенерированный файл по почте и потому решил сделать через AjaxForm, чтобы отдельно обработчик не писать. Во первых — я нуб в этом, во вторых — мне кажется так будет правильно.
Белый экран после переноса сайта на другой хостинг
            Сразу к моему порядку действий, так как я уже 2 дня одну и ту же инструкцию с разных сайтов воплощал. 
MODx Revo 3.0.1
PHP Version 7.3.31
Перенос с NIC на Beget
Перед переносом:
        
        
        
    MODx Revo 3.0.1
PHP Version 7.3.31
Перенос с NIC на Beget
Перед переносом:
- Захожу в админку и удаляю cash через панель управления
 - Отключаю RSS, компрессии и новости
 - Ручками чищу еще на FTP папку cash/*
 - Один раз даже пробовал отключить френдли сылки (где-то советовали)
 - Проверю по списку: 
- из админки выкинуло
 - в базе данных стоит по 0 для rss и компрессии
 - папки с cash пуста
 
 
Отправка файла через Formit (Ajax) добавленный через DropFile (Dropzone, drag&drop)
            Я нашел несколько тем на форуме. Перерыл много ссылок но не смог разобраться в самом главном. 
Как прикрепить файлы закинутые в Dropzone к отправляемой форме?
Поменять значение input type=file нельзя по соображением безопасности.
        
        
        
        
    Как прикрепить файлы закинутые в Dropzone к отправляемой форме?
Поменять значение input type=file нельзя по соображением безопасности.
AjaxForm пишет что отправил письмо, но его нет
            AjaxForm пишет что отправил письмо, но в админке и на ящике его нет.
Не могу понять в чем проблема.
FormIt — 2.2.11-pl
AjaxForm — 1.1.7-pl
        
        
        
    Не могу понять в чем проблема.
FormIt — 2.2.11-pl
AjaxForm — 1.1.7-pl
[[!AjaxForm?
    &snippet=`FormIt`
    &hooks=`FormItSaveForm,email` 
    &emailTo=`*****@yandex.ru`
    &formName=`test_name`
    &form=`@CODE:
        	<form action="[[*uri]]">
                <input type="text" name="name" placeholder="Ваше имя">
                <input type="email" required placeholder="Ваш Email">
                <button type="submit">Отправить</button>
            </form>`
    &emailTpl=`@CODE:
                ОТ: [[*email]]
                Имя: [[*name]]
                Сообщение: [[*message]]`
    &emailFromName=`em_test_name`
    &emailFrom=`****@yandex.ru`
    &emailSubject=`test_sub`
    &successMessage=`Заявка успешно отправлена!`
    &validate=`email:required`
]]        Как реализовать случайные li для ul?
            Как можно сделать, что бы для одного ul выдавало несколько случайных li. Допустим из 10 li, будет выходить рандомные 3?        
        
        
        
    Ошибка PHP notice: Undefined variable: hook
            На что он может ругаться? Предполагаю что AjaxForm, но перебрал хуки от ошибки не избавился.
        
        
        
    (WARN @ /var/www/restvm/data/www/rest-vm.ru/core/cache/includes/elements/modsnippet/35.include.cache.php : 41) PHP notice: Undefined variable: hook