We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6953
    • 94 Posts
    Есть реализация гостевой книги на Jot, с кастомными полями name, email, city, answer. Цель - при редактировании комментария, заполнять поле answer т.о. отвечая от имени администратора сайта на данный коммент. Проблема - не отправляются данные из этого поля. Из city и др.отправляются, из этого нет.

    MODx 1.0.5, Jot 1.1.4.

    Гостевуха вызывается вот так:

    [!Jot? &subscribe=`0` &docid=`[*id*]` &tagid=`[*id*]` &pagination=`5` &action=`comments` &authorid=`1` &tplModerate=`jotModer` &tplComments=`jotComment` &tplNav=`jotNavy` &customfields=`name,email,city,answer` !]
    [!Jot? &action=`form` &docid=`[*id*]` &tagid=`[*id*]` &moderated=`0` &validate=`0` &captcha=`0` &notify=`2` &canedit=`Site Admins` &tplForm=`jotForm` !]


    шаблон jotForm:

    <a name="jf[+jot.link.id+]"></a>
    <h2>[+form.edit:is=`1`:then=`Редактировать отзыв`:else=`Оставить отзыв`+]</h2>
    <div class="jot-list">
    <ul>
    	<li>Обязательные для заполнения поля отмечены <b>*</b>.</li>
    </ul>
    </div>
    [+form.error:isnt=`0`:then=`
    <div class="jot-err">
    [+form.error:select=`
    &-3=Вы пытаетесь отправить тот же самый отзыв. Не нужно дважды нажимать "Отправить", будьте терпеливы!
    &-2=Ваш отзыв был отклонен.
    &-1=Ваш отзыв сохранен, но прежде чем появиться здесь, он будет просмотрен модератором.
    &1=Вы пытаетесь отправить тот же самый отзыв. Не нужно дважды нажимать "Отправить", будьте терпеливы!
    &2=Секретный код введен неверно!
    &3=Вы можете писать не больше 1 отзыва в [+jot.postdelay+] секунд.
    &4=Ваш отзыв был отклонен.
    &5=[+form.errormsg:ifempty=`Не все обязательные поля заполнены`+]
    `+]
    </div>
    `:strip+]
    [+form.confirm:isnt=`0`:then=`
    <div class="jot-cfm">
    [+form.confirm:select=`
    &1=Ваш отзыв был опубликован.
    &2=Ваш отзыв сохранен, но прежде чем появиться здесь, он будет просмотрен модератором.
    &3=Отзыв сохранен.
    `+]
    </div>
    `:strip+]
    <form method="post" action="[+form.action:esc+]#jf[+jot.link.id+]" class="jot-form">
    	<fieldset>
    	<input name="JotForm" type="hidden" value="[+jot.id+]" />
    	<input name="JotNow" type="hidden" value="[+jot.seed+]" />
    	<input name="parent" type="hidden" value="[+form.field.parent+]" />
    	
    	[+form.moderation:is=`1`:then=`
    		<div class="jot-row">
    			<b>Created on:</b> [+form.field.createdon:date=`%a %B %d, %Y at %H:%M`+]<br />
    			<b>Created by:</b> [+form.field.createdby:userinfo=`username`:ifempty=`[+jot.guestname+]`+]<br />
    			<b>IP address:</b> [+form.field.secip+]<br />
    			<b>Published:</b> [+form.field.published:select=`0=No&1=Yes`+]<br />
    			[+form.field.publishedon:gt=`0`:then=`
    				<b>Published on:</b> [+form.field.publishedon:date=`%a %B %d, %Y at %H:%M`+]<br />
    				<b>Published by:</b> [+form.field.publishedby:userinfo=`username`:ifempty=` - `+]<br />
    			`+]
    			[+form.field.editedon:gt=`0`:then=`
    				<b>Edited on:</b> [+form.field.editedon:date=`%a %B %d, %Y at %H:%M`+]<br />
    				<b>Edited by:</b> [+form.field.editedby:userinfo=`username`:ifempty=` -`+]<br />
    			`+]
    		</div>
    	`:strip+]
    	
    	[+form.guest:is=`1`:then=`
    		<label for="name[+jot.id+]">Имя:<br />
    		<input tabindex="[+jot.seed:math=`?+1`+]" name="name" type="text" size="40" value="[+form.field.custom.name:esc+]" id="name[+jot.id+]" />
    		</label>
    		<label for="email[+jot.id+]">Email:<br />
    		<input tabindex="[+jot.seed:math=`?+2`+]" name="email" type="text" size="40" value="[+form.field.custom.email:esc+]" id="email[+jot.id+]"/>
    		</label>
    	`:strip+]
    	<label for="city[+jot.id+]">Город:<br />
    		<input tabindex="[+jot.seed:math=`?+3`+]" name="city" type="text" size="40" value="[+form.field.custom.city:esc+]" id="city[+jot.id+]"/>
    	</label>
    	<label for="content[+jot.id+]">Текст сообщения: *<br />
    	<textarea tabindex="[+jot.seed:math=`?+4`+]" name="content" cols="50" rows="8" id="content[+jot.id+]">[+form.field.content:esc+]</textarea>
    	</label><br />
      [+jot.captcha:is=`1`:then=`
    		<div style="width:150px;margin-top: 5px;margin-bottom: 5px;"><a href="[+jot.link.current:esc+]"><img src="[(base_url)]manager/includes/veriword.php?rand=[+jot.seed+]" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #003399" /></a></div>
    		<label for="vericode[+jot.id+]">Help prevent spam - enter security code above:<br /><input type="text" name="vericode" style="width:150px;" size="20" id="vericode[+jot.id+]" /></label> 
    	`:strip+]
    	
    	<div style="float:right;width: 100px;"></div>
    	<input tabindex="[+jot.seed:math=`?+5`+]" name="submit" type="submit" value="[+form.edit:is=`1`:then=`Сохранить`:else=`Отправить`+]" />
    	[+form.edit:is=`1`:then=`
    		<input tabindex="[+jot.seed:math=`?+5`+]" name="submit" type="submit" value="Отмена" onclick="history.go(-1);return false;" />
    	`+] 
    	</fieldset>
    </form>


    который выводит саму форму комментария. И дефолтный, который отображается в редактировании:

    <a name="jf[+jot.link.id+]"></a>
    <h2>[+form.edit:is=`1`:then=`Edit comment`:else=`Write a comment`+]</h2>
    <div class="jot-list">
    <ul>
    	<li>Required fields are marked with <b>*</b>.</li>
    </ul>
    </div>
    [+form.error:isnt=`0`:then=`
    <div class="jot-err">
    [+form.error:select=`
    &-3=You are trying to re-submit the same post. You have probably clicked the submit button more than once.
    &-2=Your comment has been rejected.
    &-1=Your comment has been saved, it will first be reviewed before it is published.
    &1=You are trying to re-submit the same post. You have probably clicked the submit button more than once.
    &2=The security code you entered was incorrect.
    &3=You can only post once each [+jot.postdelay+] seconds.
    &4=Your comment has been rejected.
    &5=[+form.errormsg:ifempty=`You didn't enter all the required fields`+]
    `+]
    </div>
    `:strip+]
    [+form.confirm:isnt=`0`:then=`
    <div class="jot-cfm">
    [+form.confirm:select=`
    &1=Your comment has been published.
    &2=Your comment has been saved, it will first be reviewed before it is published.
    &3=Comment saved.
    `+]
    </div>
    `:strip+]
    <form method="post" action="[+form.action:esc+]#jf[+jot.link.id+]" class="jot-form">
    	<fieldset>
    	<input name="JotForm" type="hidden" value="[+jot.id+]" />
    	<input name="JotNow" type="hidden" value="[+jot.seed+]" />
    	<input name="parent" type="hidden" value="[+form.field.parent+]" />
    	
    	[+form.moderation:is=`1`:then=`
    		<div class="jot-row">
    			<b>Created on:</b> [+form.field.createdon:date=`%a %B %d, %Y at %H:%M`+]<br />
    			<b>Created by:</b> [+form.field.createdby:userinfo=`username`:ifempty=`[+jot.guestname+]`+]<br />
    			<b>IP address:</b> [+form.field.secip+]<br />
    			<b>Published:</b> [+form.field.published:select=`0=No&1=Yes`+]<br />
    			[+form.field.publishedon:gt=`0`:then=`
    				<b>Published on:</b> [+form.field.publishedon:date=`%a %B %d, %Y at %H:%M`+]<br />
    				<b>Published by:</b> [+form.field.publishedby:userinfo=`username`:ifempty=` - `+]<br />
    			`+]
    			[+form.field.editedon:gt=`0`:then=`
    				<b>Edited on:</b> [+form.field.editedon:date=`%a %B %d, %Y at %H:%M`+]<br />
    				<b>Edited by:</b> [+form.field.editedby:userinfo=`username`:ifempty=` -`+]<br />
    			`+]
    		</div>
    	`:strip+]
    	
    	[+form.guest:is=`1`:then=`
    		<label for="name[+jot.id+]">Name:<br />
    		<input tabindex="[+jot.seed:math=`?+1`+]" name="name" type="text" size="40" value="[+form.field.custom.name:esc+]" id="name[+jot.id+]" />
    		</label>
    		<label for="email[+jot.id+]">Email:<br />
    		<input tabindex="[+jot.seed:math=`?+2`+]" name="email" type="text" size="40" value="[+form.field.custom.email:esc+]" id="email[+jot.id+]"/>
    		</label>
    	`:strip+]
    	
    		
    		<label for="city[+jot.id+]">Город:<br />
    				<input tabindex="[+jot.seed:math=`?+3`+]" name="city" type="text" size="40" value="[+form.field.custom.city:esc+]" id="city[+jot.id+]"/>
    		</label>
    		
    	<label for="content[+jot.id+]">Comment: *<br />
    	<textarea tabindex="[+jot.seed:math=`?+4`+]" name="content" cols="50" rows="8" id="content[+jot.id+]">[+form.field.content:esc+]</textarea>
    	</label><br />
    	<label for="answer[+jot.id+]">Ответ: *<br />
    	<textarea tabindex="[+jot.seed:math=`?+5`+]" name="answer" cols="50" rows="8" id="answer[+jot.id+]">[+form.field.custom.answer:esc+]</textarea>
    	</label><br />
    	
      [+jot.captcha:is=`1`:then=`
    		<div style="width:150px;margin-top: 5px;margin-bottom: 5px;"><a href="[+jot.link.current:esc+]"><img src="[(base_url)]manager/includes/veriword.php?rand=[+jot.seed+]" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #003399" /></a></div>
    		<label for="vericode[+jot.id+]">Help prevent spam - enter security code above:<br /><input type="text" name="vericode" style="width:150px;" size="20" id="vericode[+jot.id+]" /></label> 
    	`:strip+]
    	
    	<div style="float:right;width: 100px;"></div>
    	<input tabindex="[+jot.seed:math=`?+6`+]" name="submit" type="submit" value="[+form.edit:is=`1`:then=`Save Comment`:else=`Post Comment`+]" />
    	[+form.edit:is=`1`:then=`
    		<input tabindex="[+jot.seed:math=`?+6`+]" name="submit" type="submit" value="Cancel" onclick="history.go(-1);return false;" />
    	`+] 
    	</fieldset>
    </form>


    Почему может не работать? Страница с вызовом гостевухи некэшируема.
      L.O.V.E is just a four letter word
      • 29487
      • 385 Posts
      Скорее всего нужно баги исправить
        • 6953
        • 94 Posts
        Спасибо, помогло.
          L.O.V.E is just a four letter word