teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

コード、質問文の編集

2017/12/29 06:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,106 +1,54 @@
1
- お世話になり
1
+ 質問文、コード変更させていただきした
2
2
 
3
+
3
4
  ECCUBE2.13.5で複数の帳票を追加しています。
4
5
 
5
6
  デフォルトの納品書以外の帳票で、PDF作成フォーム部分が、
6
7
  拡張ファイル(LC_Page_Admin_Order_Pdf_Ex.php)で作成したものに統一されてしまいます。
7
8
 
8
- それを、拡張ファイルのフォームではなく、デフォルトの納品書で使われている
9
+ デフォルトの納品書とカスタム納品書はLC_Page_Admin_Order_Pdf.phpのフォーム、
9
- 下記LC_Page_Admin_Order_Pdf.phpのフォームにしたいです。
10
+ 領収書はLC_Page_Admin_Order_Pdf_Ex.phpのフォームにしたいです。
10
11
 
11
12
  識者の方、何か解決のヒントなどあれば、よろしくお願い致します。
12
13
 
13
- ``` /**
14
+
14
- *
15
- * PDF作成フォームのデフォルト値の生成
15
+ ↓↓↓LC_Page_Admin_Order_Pdf.php↓↓↓
16
- */
16
+ ```
17
- public function createFromValues($order_id, $pdf_order_id)
17
+ public function init()
18
18
  {
19
- // ここが$arrFormの初登場ということを明示するため宣言する。
20
- $arrForm = array();
19
+ parent::init();
21
- // タイトルをセット
22
- $arrForm['title'] = 'お買上げ明細書(納品書)';
20
+ $this->tpl_mainpage = 'order/pdf_input.tpl';
21
+ $this->tpl_mainno = 'order';
22
+ $this->tpl_subno = 'pdf';
23
+ $this->tpl_maintitle = '受注管理';
24
+ $this->tpl_subtitle = '帳票出力';
23
25
 
24
- // 今日の日付をセット
26
+ $this->SHORTTEXT_MAX = STEXT_LEN;
25
- $arrForm['year'] = date('Y');
27
+ $this->MIDDLETEXT_MAX = MTEXT_LEN;
26
- $arrForm['month'] = date('m');
28
+ $this->LONGTEXT_MAX = LTEXT_LEN;
27
- $arrForm['day'] = date('d');
28
29
 
29
- // メッセージ
30
- $arrForm['msg1'] = 'このたびはお買上げいただきありがとうございます。';
30
+ $this->arrType[0] = '納品書';
31
- $arrForm['msg2'] = '下記の内容にて納品させていただきます。';
31
+ $this->arrType[1] = '納品書(カスタム)';
32
- $arrForm['msg3'] = 'ご確認くださいますよう、お願いいたします。';
33
32
 
34
- // 注文番号があったら、セットする
35
- if (SC_Utils_Ex::sfIsInt($order_id)) {
36
- $arrForm['order_id'][0] = $order_id;
37
- } elseif (is_array($pdf_order_id)) {
38
- sort($pdf_order_id);
39
- foreach ($pdf_order_id AS $key=>$val) {
40
- $arrForm['order_id'][] = $val;
41
- }
42
- }
43
33
 
44
- return $arrForm;
34
+ $this->arrDownload[0] = 'ブラウザに開く';
35
+ $this->arrDownload[1] = 'ファイルに保存';
45
36
  }
46
37
 
47
-
48
-
49
-
50
38
  /**
39
+ * Page のプロセス. 
51
40
  *
52
- ** * PDFの作成**
41
+ * @return void
53
- * @param SC_FormParam $objFormParam
54
42
  */
55
- public function createPdf(&$objFormParam)
43
+ public function process()
56
44
  {
57
- $arrErr = $this->lfCheckError($objFormParam);
58
- $arrRet = $objFormParam->getHashArray();
45
+ parent::process();
59
-
60
- //タイトルが入力されていなければ、デフォルトのタイトルを表示
46
+
61
- if($arrRet['title'] == '') $arrRet['title'] = 'お買上げ明細書(納品書)';
62
-
63
- $this->arrForm = $arrRet;
47
+ $this->action();
64
- // エラー入力なし
65
- //納品書発行
66
- if($arrRet['type'] == 0) {
67
- $objFpdf = new SC_Fpdf($arrRet['download'], $arrRet['title']);
68
- foreach ($arrRet['order_id'] AS $key => $val) {
69
- $arrPdfData = $arrRet;
70
- $arrPdfData['order_id'] = $val;
71
- $objFpdf->setData($arrPdfData);
72
- }
73
- $objFpdf->createPdf();
48
+ $this->sendResponse();
74
- return true;
75
- }
76
- //納品書(価格なし)発行
77
- elseif($arrRet['type'] == 1) {
78
- $objFpdf = new SC_Fepdf($arrRet['download'], $arrRet['title']);
79
- foreach ($arrRet['order_id'] AS $key => $val) {
80
- $arrPdfData = $arrRet;
81
- $arrPdfData['order_id'] = $val;
82
- $objFpdf->setData($arrPdfData);
83
- }
84
- $objFpdf->createPdf();
85
- return true;
86
- }
87
-
88
- //EMS発行
89
- elseif($arrRet['type'] == 2) {
90
- $objFpdf = new SC_Femspdf($arrRet['download'], $arrRet['title']);
91
- foreach ($arrRet['order_id'] AS $key => $val) {
92
- $arrPdfData = $arrRet;
93
- $arrPdfData['order_id'] = $val;
94
- $objFpdf->setData($arrPdfData);
95
- }
96
- $objFpdf->createPdf();
97
- return true;
98
-
99
- }else{
100
- return $arrErr;
101
49
  }
102
- }
103
50
 
51
+ /**
104
52
 
105
53
  コード
106
54
  ```
@@ -108,39 +56,34 @@
108
56
 
109
57
  ↓↓↓LC_Page_Admin_Order_Pdf_Ex.php↓↓↓
110
58
 
111
- ``` /**
59
+ ``` function init()
112
- *
113
- * PDFの作成
114
- * @param SC_FormParam $objFormParam
115
- */
116
- public function createPdf(&$objFormParam)
117
60
  {
118
- $arrRet = $objFormParam->getHashArray();
61
+ parent::init();
119
- if ($arrRet['type']==="0") {
120
- // 納品書
62
+ //
121
- unset($arrRet);
122
- return parent::createPdf($objFormParam);
123
63
 
124
- }if ($arrRet['type']==="1") {
125
- // 納品書
126
- unset($arrRet);
127
- return parent::createPdf($objFormParam);
128
64
 
65
+
66
+
67
+ $this->arrType[2] = '領収書';
68
+
69
+
70
+ $this->isOrders = is_array($_POST['pdf_order_id']) && 1 < count($_POST['pdf_order_id']);
71
+
72
+ $this->tpl_mainpage = 'order/pdf_input_ex.tpl';
129
- }
73
+ }
130
- if ($arrRet['type']==="2") {
131
- // 納品書
132
- unset($arrRet);
133
- return parent::createPdf($objFormParam);
134
-
135
- }
136
- else {
137
- // 領収書
138
- $arrErr = $this->lfCheckError($objFormParam);
139
74
 
140
- // 領収書ならタイトルなし
141
- $arrRet['title'] = '';
142
75
 
143
- $this->arrForm = $arrRet;
144
76
 
77
+ /**
78
+ * Page のプロセス.
79
+ *
80
+ * @return void
81
+ */
82
+ function process()
83
+ {
84
+ parent::process();
85
+ }
86
+
87
+ /**
145
88
  コード
146
89
  ```

2

コードの追加

2017/12/29 06:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -103,4 +103,44 @@
103
103
 
104
104
 
105
105
  コード
106
+ ```
107
+
108
+
109
+ ↓↓↓LC_Page_Admin_Order_Pdf_Ex.php↓↓↓
110
+
111
+ ``` /**
112
+ *
113
+ * PDFの作成
114
+ * @param SC_FormParam $objFormParam
115
+ */
116
+ public function createPdf(&$objFormParam)
117
+ {
118
+ $arrRet = $objFormParam->getHashArray();
119
+ if ($arrRet['type']==="0") {
120
+ // 納品書
121
+ unset($arrRet);
122
+ return parent::createPdf($objFormParam);
123
+
124
+ }if ($arrRet['type']==="1") {
125
+ // 納品書
126
+ unset($arrRet);
127
+ return parent::createPdf($objFormParam);
128
+
129
+ }
130
+ if ($arrRet['type']==="2") {
131
+ // 納品書
132
+ unset($arrRet);
133
+ return parent::createPdf($objFormParam);
134
+
135
+ }
136
+ else {
137
+ // 領収書
138
+ $arrErr = $this->lfCheckError($objFormParam);
139
+
140
+ // 領収書ならタイトルなし
141
+ $arrRet['title'] = '';
142
+
143
+ $this->arrForm = $arrRet;
144
+
145
+ コード
106
146
  ```

1

コードの追加

2017/12/26 09:55

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -44,5 +44,63 @@
44
44
  return $arrForm;
45
45
  }
46
46
 
47
+
48
+
49
+
50
+ /**
51
+ *
52
+ ** * PDFの作成**
53
+ * @param SC_FormParam $objFormParam
54
+ */
55
+ public function createPdf(&$objFormParam)
56
+ {
57
+ $arrErr = $this->lfCheckError($objFormParam);
58
+ $arrRet = $objFormParam->getHashArray();
59
+
60
+ //タイトルが入力されていなければ、デフォルトのタイトルを表示
61
+ if($arrRet['title'] == '') $arrRet['title'] = 'お買上げ明細書(納品書)';
62
+
63
+ $this->arrForm = $arrRet;
64
+ // エラー入力なし
65
+ //納品書発行
66
+ if($arrRet['type'] == 0) {
67
+ $objFpdf = new SC_Fpdf($arrRet['download'], $arrRet['title']);
68
+ foreach ($arrRet['order_id'] AS $key => $val) {
69
+ $arrPdfData = $arrRet;
70
+ $arrPdfData['order_id'] = $val;
71
+ $objFpdf->setData($arrPdfData);
72
+ }
73
+ $objFpdf->createPdf();
74
+ return true;
75
+ }
76
+ //納品書(価格なし)発行
77
+ elseif($arrRet['type'] == 1) {
78
+ $objFpdf = new SC_Fepdf($arrRet['download'], $arrRet['title']);
79
+ foreach ($arrRet['order_id'] AS $key => $val) {
80
+ $arrPdfData = $arrRet;
81
+ $arrPdfData['order_id'] = $val;
82
+ $objFpdf->setData($arrPdfData);
83
+ }
84
+ $objFpdf->createPdf();
85
+ return true;
86
+ }
87
+
88
+ //EMS発行
89
+ elseif($arrRet['type'] == 2) {
90
+ $objFpdf = new SC_Femspdf($arrRet['download'], $arrRet['title']);
91
+ foreach ($arrRet['order_id'] AS $key => $val) {
92
+ $arrPdfData = $arrRet;
93
+ $arrPdfData['order_id'] = $val;
94
+ $objFpdf->setData($arrPdfData);
95
+ }
96
+ $objFpdf->createPdf();
97
+ return true;
98
+
99
+ }else{
100
+ return $arrErr;
101
+ }
102
+ }
103
+
104
+
47
105
  コード
48
106
  ```