説æïŒãã®ããã¥ã¢ã«ã¯ãMODx Revolutionçšã«PHPãšHTMLãæ··åšããã³ãŒãã§ãã¡ã€ã«ã倿ããæ¹æ³ã瀺ããŠããŸãã ããã¯PHPã§ã®äœæ¥ã«æ
£ããŠãã人åãã§ããããŸã MODxã®åºæ¬ãåŠãã§ããŸãã
以äžã®èª¬æã®ã»ãšãã©ã«åœãŠã¯ãŸãå Žåããã®ã¬ã€ãã¯åœ¹ç«ã¡ãŸãã
-PHPã³ãŒããšHTMLãçµã¿åãããã¹ã¯ãªãããäœæããŸãã
-PHPã®ã«ãŒããšé
åãçè§£ããŠããŸãã
-ããŒã¿ããŒã¹ã«æ¥ç¶ããŠãšã³ããªãååŸããPHPã³ãŒããèšè¿°ãã
-MODxã¹ããããããã®ä»ã®èŠçŽ ã®ä»çµã¿ã«ã€ããŠã®äžè¬çãªèãããããŸã
ããšãã°ãæè¿å®äºããå®éã®ãããžã§ã¯ãã®ç°¡ç¥çãæ€èšããŸãã
ã¢ããªã±ãŒã·ã§ã³ã¯PHP / HTMLã§éçºãããæ¬¡ã®ããšãè¡ããŸãã
-ããŒã¿ããŒã¹ããŒãã«ããã¬ã³ãŒãã®ãªã¹ããååŸããŸã
-HTMLããŒãã«ã®ãšã³ããªã衚瀺ããŸã
-ç¹å®ã®åå€ã§çµæããã£ã«ã¿ãªã³ã°ããããã®2ã€ã®ããããããŠã³éžæãã£ãŒã«ãã衚瀺ããŸãã
èå³ã®ããæ¹ã¯ã
ãã¡ãã®ã¢ããªã±ãŒã·ã§ã³ã
ã芧ãã ãã ã
PHPãšHTMLã®æ··åãã¡ã€ã«ããå§ããŸã
ãã®ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã¯æ¬¡ã®ããã«ãªããŸããïŒããããããããããã«ç°¡ç¥åãããŠããŸãïŒã
ãã¡ã€ã«ïŒacctCodes.phpïŒãªãªãžãã«ããŒãžã§ã³ïŒ<html> <head> <title> SFS</title> </head> <body> <h1> SFS</title> <form> <div> <label for="byCategory"> :</label> <select name="byCategory" id="byCategory"> <option> </option>
<?php
</select> </div> <div> <label for="byType"> :</label> <select name="byType" id="byType"> <option> </option>
<?php $values =
</select> </div> </form> <table id="acctCodes"> <thead> </thead> <tbody>
<?php $records =
<tr> <td><?php echo $record['category']; ?></td> <td><?php echo $record['status']; ?></td> <td><?php echo $record['account']; ?></td> <td><?php echo $record['acctType']; ?></td> <td><?php echo $record['title']; ?></td> <td><?php echo $record['definition']; ?></td> </tr>
<?php } ?>
</tbody> </table> </body> </html>
ããã§ã¯ãPHPã¯éåžžã«åçŽã§ãã ã¯ãšãªãå®è¡ãããã³ãŒãã®3ã€ã®ç¬ç«ãããããã¯ããããçµæã¯é©åãªHTMLã¿ã°ã§å²ãŸããããŒãžã«è¡šç€ºãããŸãã 3çªç®ã®ãããã¯ã¯ããå¥åŠã§ã-ããã°ãåä»ãªããšã³ãŒãæŒç®åã§ã¯ãªããã«ãŒãå
ã§éåžžã®HTMLã³ãŒãã䜿çšããããã«PHPã³ãŒããäžæãããŸãã
ããããããã§ã¯ããã»ã©è€éãªããšã¯èµ·ãããŸããã
ãã ããMODxãžã®ç§»è¡ã«åããŠãããã€ãã®ã¯ãªãŒãã³ã°ãè¡ãå¿
èŠããããŸãã
ããŒã1ïŒã¯ãªãŒãã³ã°ïŒæåã«å€ãååŸããæ¬¡ã«åºåãååŸããŸãïŒ
MODxã®ïŒãããŠå®éã«ïŒãã®PHPã³ãŒããã¯ãªãŒãã³ã°ããæåã®ã¹ãããã¯ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ãšããŒãžã¬ã€ã¢ãŠãã®æ··åšãé¿ããããšã§ãã åãªã¯ãšã¹ãã䜿çšããåã«å®è¡ãã代ããã«ããã¹ãŠã®ãªã¯ãšã¹ããéå§ããå¿
èŠã«å¿ããŠãšã³ãŒã䜿çšããŠçµæã衚瀺ããŸãã
çµæã¯æ¬¡ã®ããã«ãªããŸãïŒããã§ããããããããããããã«éåžžã«ç°¡ç¥åãããŠããŸãïŒã
ãã¡ã€ã«ïŒacctCodes.phpïŒã¯ãªãŒã³ããŒãžã§ã³ïŒ <?php
<html> <head> <title> SFS</title> </head> <body> <h1> SFS</h1> <form> <div> <label for="byCategory"> :</label> <select name="byCategory" id="byCategory"> <option> </option> <?php echo $options1; ?> </select> </div> <div> <label for="byType"> :</label> <<font color="#006699">select name="byType" id="byType"> <option> </option> <?php echo $options2; ?> </select> </div> </form> <table id="acctCodes"> <thead> </thead> <tbody> <?php echo $trrows; ?> </tbody> </table> </body> </html>
ããã«ãããããŒã¯ã¢ããã®è¡šç€ºãšç·šéãã¯ããã«ç°¡åã«ãªããŸãã ãã¹ãŠã®PHPã³ãŒãã¯4ã€ã®ãããã¯ã«å«ãŸããŠããŸããæåã®ãªã¯ãšã¹ãã§å€ãèšå®ããæ¬¡ã®3ã€ã®ç°¡åãªãšã³ãŒã³ãã³ãã§ãããã®å€ã衚瀺ããŸãã
ãã®å°ããªWebã¢ããªã±ãŒã·ã§ã³ãMODxã«ç§»æ€ããããšã¯ãã§ã«åãå
¥ããããŠããŸãã
ããŒã2ïŒã¹ãããããšãã¬ãŒã¹ãã«ããŒ
ã¯ãªã¢ããã³ãŒããMODxã«è»¢éããã«ã¯ã远å ã®å€æŽãå ããå¿
èŠããããŸãã
HTMLã³ãŒãã¯ãMODxãªãœãŒã¹ã«çŽæ¥ã³ããŒã§ããŸãã
ïŒãªãœãŒã¹ã¯å€æŽãããªããªããŸãïŒ-çŽãïŒãã ããPHPã³ãŒããã¹ãããããšããã€ãã®ãã¬ãŒã¹ãã«ããŒã«çœ®ãæããå¿
èŠããããŸãã
MODxãªãœãŒã¹ã®ã³ã³ãã³ãã¯æ¬¡ã®ããã«ãªããŸãã
ãªãœãŒã¹MODxïŒ 'acctCodes' [[accountCodes]] <html> <head> <title> SFS</title> </head> <body> <h1> SFS</h1> <form> <div> <label for="byCategory"> :</label> <select name="byCategory" id="byCategory"> <option> </option> [[+options1]] </select> </div> <div> <label for="byType"> :</label> <select name="byType" id="byType"> <option> </option> [[+options2]] </select> </div> </form> <table id="acctCodes"> <thead> </thead> <tbody> [[+trrows]] </tbody> </table> </body> </html>
ãªãœãŒã¹ã§ã¯ãPHPã³ãŒãã®4ã€ã®ãããã¯ãMODxã¿ã°ã«çœ®ãæããããŸããã æåã®
[[accountCodes]]ã¯ã
accountCodesã¹ãããããåŒã³åºããŸãïŒãŸã èšè¿°ããŠããŸããïŒã 次ã®3ã€ã®ã¿ã°ã¯ãã¬ãŒã¹ãã«ããŒã§ãã¹ããããã§èšå®ãããå€ã«çœ®ãæããããŸãã
次ã«ããã®ã¹ãããããèšè¿°ããå¿
èŠããããŸã
ããŒã3ïŒã¹ãããã
ãaccountCodesãã¹ããããã«ã¯ããã®PHPã®æåã®ãããã¯ïŒãã¹ãŠã®ãªã¯ãšã¹ããšã«ãŒãïŒããã®ã³ãŒããå«ãŸããŸãã 远å ããã®ã¯ããã¬ãŒã¹ãã«ããŒãäœæããããã®MODx APIã³ãŒãã®æ°è¡ã ãã§ãã
ã¹ããããïŒãaccountCodesã <?php
ãããã¹ããããã§ãã å
ã®PHPã³ãŒããšæ¯èŒãããšãäžéšã«3è¡ã®ãsetPlaceholderãã远å ãããŠããŸãã 圌ãã¯ãMODxã«ãããŒãžäžã§äžã®ãã¬ãŒã¹ãã«ããŒ
[[+ options1]]ã«åºäŒã£ãå Žåãããã
$ options1ã®å€ã«çœ®ãæããå¿
èŠãããããšãäŒããã ãã§ãã ãã¬ãŒã¹ãã«ããŒã¯ãã¹ããããããã®åºåå€ãåŠçããã·ã³ãã«ã§ãšã¬ã¬ã³ããªæ¹æ³ã§ãã
ããã§ãWebã¢ããªã±ãŒã·ã§ã³ãMODxå
ã§æ©èœããããã«å¿
èŠãªãã¹ãŠã®åŠçãå®äºããŸããã ãã ããMODxã§ããå€ãã®API颿°ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãããã»ã¯ã·ãŒã«ããããã€ãã®è¿œå æé ãå®è¡ã§ããŸãã çŸåšã®å®è£
ããæºè¶³ããšè©äŸ¡ããŸã
ïŒå
ã®ãCãã§ã¯äœæ¥ãç¶ããŸãããã
ããŒã4ïŒãã£ã³ã¯ãåºåãã³ãã¬ãŒããšããŠäœ¿çšãã
çŸåšã®PHPã³ãŒãã«å¯Ÿããæ¹å€ã®1ã€ã¯ãããŒã¯ã¢ãããšããžãã¯ãæ··åšããŠããããšã§ãã ãforeachãã«ãŒãã«ã¯ãŸã HTMLããŒã¯ã¢ããã®ãã£ã³ã¯ãå«ãŸããŠããŸãã
foreach ($values as $value) { $options1 .= '<option value="' . $value . '">' . $value . '/option>'; }
ãã®æŠç¥ã¯çæ³ãšã¯ã»ã©é ãã§ããäžåžãSkippyã®HTMLãšã³ã³ãŒããŒ
ïŒå
ã®ãSkippy the HTML code monkeyã-çŽPerãïŒã«å°ãããšã
ãŸããå<option>ã¿ã°ã«ããã€ãã®è¿œå 屿§ã远å ããŠããã®ã¢ããªã±ãŒã·ã§ã³ã®HTMLã³ãŒã
ã倿ŽããŸãã ããã
ãHTMLã³ãŒãã¢ã³ããŒã§ããSkippyã PHPã¹ã¯ãªããã®è¿ãã«é
眮
ããããããŸããã
PHPã§ãã®ç¶æ³ãä¿®æ£ããã«ã¯ãããã€ãã®æ¹æ³ããããŸããå€éšãã¡ã€ã«ããHTMLã³ãŒããååŸããæååã眮ãæããããšãèããããŸãã ãã ããå¿é
ããå¿
èŠã¯ãªããé©åãªãœãªã¥ãŒã·ã§ã³ãèŠã€ããå¿
èŠããããŸããã ãã®ã¿ã¹ã¯ã®ããã«ãMODxã¯å¥ã®ã·ã³ãã«ã§ãšã¬ã¬ã³ããªãœãªã¥ãŒã·ã§ã³ãæäŸããŸãïŒ
ãã¬ãŒã¹ãã«ããŒä»ããã£ã³ã¯ ã
äžèšã®ã¹ããããã®ããªãã·ã§ã³ãã³ãŒãã¯ãããªãã·ã§ã³ããšåŒã°ãããã£ã³ã¯ãšããŠæžãæããããšãã§ããŸãã
ãã£ã³ã¯ïŒããªãã·ã§ã³ã <option value="[[+value]]">[[+value]]</option>
ãã®ãã£ã³ã¯ã«ã¯ç¹å¥ãªãã®ã¯ãããŸãã-ããã€ãã®ãã¬ãŒã¹ãã«ããŒãåããHTMLã§ãã ããªãã·ã§ã³ãã¯ãããŸããŸãªãªãœãŒã¹ã®è€æ°ã®ã¹ããããã§ãã©ãã§ã䜿çšã§ããã·ã³ãã«ã§äŸ¿å©ãªãã£ã³ã¯ã§ãã
ã«ãŒãã§ãã®ãã£ã³ã¯ã®å€ã䜿çšããMODx APIã³ãŒããããå°ã远å ããŠãã¹ããããã倿Žã§ããŸãã
<?php
ããã§ãã«ãŒãã¯$å€ã®ãã¬ãŒã¹ãã«ããŒãäœæããããªãã·ã§ã³ããã£ã³ã¯ã®å€ãåºåè¡ã«è¿œå ããŸãã
ããã«ããããã¹ãŠã®HTMLã³ãŒããPHPããå®å
šã«åé¢ã§ããŸãã Skippy
ïŒãHTMLã³ãŒãã¢ã³ããŒãã¹ããããïŒã屿§ã<option>èŠçŽ ã«è¿œå ããå¿
èŠãããå Žåããoptionããã£ã³ã¯ãç·šéããŠãããè¡ãããšãã§ããŸãã ïŒãããã®ãã¬ãŒã¹ãã«ããŒã«è§Šããªãããã«èšã£ãŠãã ããïŒïŒ
ããŒãã«ã®è¡ã¯åãæ¹æ³ã§å®è¡ã§ããŸãã
ãã£ã³ã¯ïŒãtrrowsã <tr> <td>[[+category]]</td> <td>[[+status]]</td> <td>[[+account]]</td> <td>[[+acctType]]</td> <td>[[+title]]</td> <td>[[+definition]]</td> </tr>
ãããŠãããåŒã³åºãPHPã³ãŒã
each ($records as $record) { $trrows .= $modx->getChunk('trrows', $record); }
ãã®äŸã§ã¯ããã¬ãŒã¹ãã«ããŒãã€ã³ã¹ããŒã«ããå¿
èŠããããŸããã
$ã¬ã³ãŒã飿³é
åãåŒæ°ãšããŠGetChunkïŒïŒã«æž¡ãããšãã§ãããã¬ãŒã¹ãã«ããŒã¯é
åå
ã®ããŒ/å€ã®ãã¢ããšã«èªåçã«èšå®ãããŸãïŒ
ïŒ** MODX AwesomenessïŒããªãã¯ããã«æµžã£ãŠããŸãïŒ**ïŒ
ïŒããã€ãã®ç²æ«æŽå€ã®ã¹ããŒã¬ã³ãšã®é¡äŒŒïŒ-çŽPerãïŒããã§ããã¹ãŠã®HTMLãã£ã³ã¯ããã£ã³ã¯ã«ä¿åããã¹ãããããæ¬¡ã®ããã«æžãæããããšãã§ããŸãã
<?php
ãã§ã«éåžžã«è¯ãèŠãå§ããŠããŸãã åºåãã³ãã¬ãŒãã«MODx APIã䜿çšããŸããããã¹ããããã¯éåžžã«ãããã«èŠããŸãã ããã«ãããããããç§ãæ©ãŸããæœåšçã«åé¡ãããå¯èœæ§ãããããšã1ã€ãããŸã-çŸåšãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ã«æ·»ä»ãããMODx APIã³ãŒã«ããããŸãã ãã®WebããŒãžã«ãã®åœ¢åŒã§å°å·ãããããŒã¿ã®ã¿ãå¿
èŠã«ãªãããšã100ïŒ
確信ããŠããå Žåãããã¯å®éã«ã¯åé¡ã§ã¯ãããŸããã ãã ãããã®ããŒã¿ãMODxã®å€éšã®å¥ã®å Žæã§äœ¿çšããå¿
èŠãããå¯èœæ§ãããå Žåã¯ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãMODxãšã³ãã£ãã£ããåé¢ããŠããããšããå§ãããŸãã
çŸæç¹ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®è©äŸ¡ã¯ãè¯å¥œãã§ã
ïŒãªãªãžãã«ã§ã¯ãBãïŒ ã æåŸã®äžæ©ãèžã¿åºããè©äŸ¡ããåªããã
ïŒå
ã®-ãAãïŒã«äžããŸãããã
ããŒã5ïŒã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®åé¢
æåŸã®ã¹ãããã§å¿
èŠãªããšã¯ãã¹ããããã2ã€ã®éšåã«åå²ããããšã ãã§ãã æåã®éšåã«ã¯ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãå«ãŸãããã¹ãŠã®é
åã1ã€ã®å€§ããªé
åã®ã¡ã³ããŒãšããŠè¿ããŸãã
ããã¯çŽç²ãªPHPã§è¡ããããµãŒããŒã«ãã¡ã€ã«ãšããŠä¿åããã®ãçæ³çã§ãã
2çªç®ã®éšåã¯ã¹ãããããã®ãã®ã§ãã æåã«ããžãã¯ãã¡ã€ã«ããè¿ãããé
åãåãåãããã£ã³ã¯ã䜿çšããŠçµæè¡ãæšæºåããæåŸã«ãã¬ãŒã¹ãã«ããŒãã€ã³ã¹ããŒã«ããŠçµæããªãœãŒã¹ã«è¡šç€ºããŸãã
ããããã¹ãŠã®çµäºæ¹æ³ã§ãã
ãã¡ã€ã«ïŒacctCodes.php <?php
ã¹ããããïŒ 'acctCodes' <?php $data = include_once(MY_INCLUDE_PATH . 'acctCodes.php'); $options1 = ''; foreach ($data['values'] as $value) { $modx->setPlaceholder('value', $value); $options1 .= $modx->getChunk('option'); } $options2 = ''; foreach ($data['values2'] as $value) { $modx->setPlaceholder('value', $value); $options2 .= $modx->getChunk('option'); } $trrows = ''; foreach ($data['records'] as $record) { $trrows .= $modx->getChunk('trrows', $record); } $modx->setPlaceholder('options1', $options1); $modx->setPlaceholder('options2', $options2); $modx->setPlaceholder('trrows', $trrows);
ã¢ãã«ã䞊ãã§ããŸãã ç§ãã¡ããã£ãããšãèŠãŠã¿ãŸãããïŒ
-ãµãŒããŒäžã®ãã¡ã€ã«ã«ã¢ããªã±ãŒã·ã§ã³ããžãã¯ããããŸãïŒMODxã®å®å
šã«å€éšïŒã
-ããŒã¿ãïŒHTMLããŒã¯ã¢ãããªãã§ïŒMODxã¹ããããã«çŽæ¥è»¢éããŸãã
ãMODxã«åºåã¬ã³ãŒãã®ãã³ãã¬ãŒããå¶åŸ¡ãããŸãããã
-ãªãœãŒã¹ã®äžéšã«ãã1ã€ã®ã¹ããããã«ãã¹ãŠã®ãã¬ãŒã¹ãã«ããŒå€ãèšå®ããŸãã
-å¿
èŠã«å¿ããŠããã¬ãŒã¹ãã«ããŒã䜿çšããŠããŒãžã«ããŒã¿ã衚瀺ããŸãã
å
ã®PHPãšHTMLã®æ··åãã¡ã€ã«ããé·ãéã®ããæ©ãã§ããŸããããïŒ ãã®æçµçãªå®è£
ããåªããã
ïŒå
ã®ãAãïŒãšè©äŸ¡ããŸãã ãã ããããŸããŸãªåé¡é åãåé¢ããæ¹æ³ã«ã€ããŠããããã誰ããããè¯ãã¢ã€ãã¢ãæã£ãŠããŸãã ããããç§ã®ãããªPHPã®æå¥œå®¶ã«ãšã£ãŠã¯ãããããå§ããã®ãè¯ãã§ãããã
MODxã§äœ¿çšããã·ã³ãã«ãªPHPã¢ããªã±ãŒã·ã§ã³ãäœæããéã®éèŠãªåé¡ã®ããã€ããåŠãã ããšãé¡ã£ãŠããŸãã ãã®ã¬ã€ãã«é¢ãããæèŠãã質åããææ¡ã¯ã
ããã®ã³ã¡ã³ãã«èªç±ã«ãå¯ã
ãã ãã ã
ãæ³šæ ããã -çµæãšããŠäœæãããïŒ
-ãªãœãŒã¹acctCodes ïŒããŒã2ïŒ
-accountCodesã¹ããããïŒããŒã5ïŒ
-ãã¡ã€ã«acctCodes.php ïŒããŒã5ïŒ
- ãªãã·ã§ã³ãã£ã³ã¯ïŒããŒã4ïŒ
-ãã£ã³ã¯ãæšãŠã ïŒããŒã4ïŒ