Aheadworks ヘルプデスク モジュールを使用しており、特定の情報を取得するための 2 番目のフォームを作成し、そのフォームを使用してすべてのフォーム コンテンツがヘルプデスクの「コンテンツ」セクションに投稿されるチケットを作成しようとしています。
問題は、name="content" を使用すると、"content" セクションに投稿されるのは単に "Array" になることです。
フォーム コードは非常に単純です。
<form id="helpdesk-ticket-form" action="../helpdeskultimate/customer/new/" method="post" enctype="multipart/form-data"><input name="title" value="WHOLESALE SETUP REQUEST" type="hidden">
<div><label for="title_field">Name<span class="required">*</span></label><br> <input id="title" class="input-text required-entry" style="width: 250px;" name="" value="" type="text"></div>
<div> </div>
<div><label for="title_field">Company Name<span class="required">*</span></label> <br><input id="content_field" class="input-text " title="Company" name="content" value="" type="text"></div>
<input name="department_id" value="2" type="hidden">
<div> </div>
<div><label for="content_field">Message<span class="required">*</span></label><br> <textarea id="content_field" class="required-entry" style="width: 450px;" name="content" rows="10" cols="53"></textarea></div>
<div> </div>
<div> </div>
<div><label for="filename">Attach Reseller Permit (2Mb limit)</label><br> <input id="filename" class="input-file" style="width: 450px;" name="filename" type="file"></div>
<div class="button-set"> </div>
<div class="button-set"><span><span><br></span></span></div>
<div class="button-set"><button class="button right form-button" type="submit"><span> <span>Submit ticket</span></span> </button></div>
</form>
name="content[]" を使用してみましたが、「配列」も返されました
モジュールは、次の post メソッドを使用しているようです。
public function newAction()
{
if (!$this->_getCustomerSession()->getCustomerId()) {
$this->_getCustomerSession()->authenticate($this);
return;
}
$session = Mage::getSingleton('core/session');
$customer = $this->_getCustomerSession()->getCustomer();
$Proto = Mage::getModel('helpdeskultimate/proto');
$postData = $this->getRequest()->getPost();
if (isset($postData['department_id'])) {
$Proto->setDepartmentId($postData['department_id']);
}
try {
$Proto
->setSubject(@$postData['title'])
->setContent(@$postData['content'])
->setPriority(@$postData['priority'])
->setStoreId(Mage::app()->getStore()->getId())
->setFrom(Mage::getSingleton('customer/customer')->getId())
->setSource('web');
メッセージフィールドへの挿入はここから来ているようです:
/* Insert */
try {
$message->setContent(trim($data['content']));
$validateResult = $message->validate();
完全なコントローラ ファイルは、 http: //www.gingabox.com/CustomerController.zip からダウンロードできます。
@$postData['content'] で foreach ステートメントを実際に使用する方法、またはより良い解決策があるかどうかはわかりません。
喜んで AheadWorks に問い合わせたいのですが、現時点ではカスタマイズに関する問い合わせは受け付けていないとのことです (忙しすぎるため)...
どんな助けでも大歓迎です!