Trang 1 / 15 12346 ... LastLast
Hiển thị kết quả từ 1 đến 10 / 147
  1. #1
    Tham gia
    12-03-2005
    Location
    HCM City
    Bài viết
    836
    Like
    0
    Thanked 4 Times in 3 Posts

    Sự thật về cái gọi là tách biệt phần design với code php của Smarty

    PHP Code:
                                                 {elseif $keyid eq '17'} <!--WebSite-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}onmouseover="hndMouseOver({$keyid},'{$label}');" onmouseout="fnhide('crmspanid');">&nbsp;<span id="dtlview_{$label}"><a href="http://{$keyval}target="_blank">{$keyval}</a></span>
                                                          <
    div id="editarea_{$label}style="display:none;">
                                                            <
    input class="detailedViewTextBox" onFocus="this.className='detailedViewTextBoxOn'" onBlur="this.className='detailedViewTextBox'" onkeyup="validateUrl('{$keyfldname}');" type="text" id="txtbox_{$label}name="{$keyfldname}maxlength='100' value="{$keyval}"></input>
                                                            <
    br><input name="button_{$label}type="button" class="crmbutton small save" value="{$APP.LBL_SAVE_LABEL}onclick="dtlViewAjaxSave('{$label}','{$MODULE}',{$keyid},'{$keytblname}','{$keyfldname}','{$ID}');fnhide('crmspanid');"/> {$APP.LBL_OR}
                                                            <
    a href="javascript:;" onclick="hndCancel('dtlview_{$label}','editarea_{$label}','{$label}')" class="link">{$APP.LBL_CANCEL_BUTTON_LABEL}</a>
                                                           </
    div>
                                                      </
    td>
                             {elseif 
    $keyid eq '85'}<!--Skype-->
                                                    <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}onmouseover="hndMouseOver({$keyid},'{$label}');" onmouseout="fnhide('crmspanid');">&nbsp;<img src="{$IMAGE_PATH}skype.gif" alt="{$APP.LBL_SKYPE}title="{$APP.LBL_SKYPE}LANGUAGE=javascript align="absmiddle"></img><span id="dtlview_{$label}"><a href="skype:{$keyval}?call">{$keyval}</a></span>
                                                            <
    div id="editarea_{$label}style="display:none;">
                                                              <
    input class="detailedViewTextBox" onFocus="this.className='detailedViewTextBoxOn'" onBlur="this.className='detailedViewTextBox'" type="text" id="txtbox_{$label}name="{$keyfldname}maxlength='100' value="{$keyval}"></input>
                                                              <
    br><input name="button_{$label}type="button" class="crmbutton small save" value="{$APP.LBL_SAVE_LABEL}onclick="dtlViewAjaxSave('{$label}','{$MODULE}',{$keyid},'{$keytblname}','{$keyfldname}','{$ID}');fnhide('crmspanid');"/> {$APP.LBL_OR}
                                                              <
    a href="javascript:;" onclick="hndCancel('dtlview_{$label}','editarea_{$label}','{$label}')" class="link">{$APP.LBL_CANCEL_BUTTON_LABEL}</a>
                                                           </
    div>
                                                      </
    td>    
                                                 {elseif 
    $keyid eq '19' || $keyid eq '20'} <!--TextArea/Description-->
                            <!-- 
    we will empty the value of ticket and faq comment -->
                            {if 
    $label eq $MOD.LBL_ADD_COMMENT}
                                {
    assign var=keyval value=''}
                            {/if}
                                <!--{
    assign var="DESCRIPTION_SEPARATOR_STRING" value=" "}  {* Separates Description *}-->
                                <!--{
    assign var="DESCRIPTION_WORDWRAP_WIDTH" value="70"} {* Noof chars for word wrapping long lines of Description *}-->
                                {if 
    $MODULE eq 'Notes'}
                                <!--
    To give hyperlink to URL-->
                                                            <
    td width="100%" colspan="3" class="dvtCellInfo" align="left">{$keyval|regex_replace:"/(^|***91;\n ***93;)(***91;\w***93;+?:\/\/.*?***91;^ \"\n\r\t<***93;*)/":"\\1<a href=\"\\2\" target=\"_blank\">\\2</a>"|regex_replace:"/(^|***91;\n ***93;)((www|ftp)\.***91;\w\-***93;+\.***91;\w\-.\~***93;+(?:\/***91;^ \"\t\n\r<***93;*)?)/":"\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>"|regex_replace:"/(^|***91;\n ***93;)(***91;a-z0-9&\-_.***93;+?)@(***91;\w\-***93;+\.(***91;\w\-\.***93;+\.)****91;\w***93;+)/i":"\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>"|regex_replace:"/,\"|\.\"|\)\"|\)\.\"|\.\)\"/":"\""|replace:"\n":"<br>&nbsp;"}&nbsp;
                                                            </
    td>
                                                          {else}
                                                            <
    td width="100%" colspan="3" class="dvtCellInfo" align="left" id="mouseArea_{$label}onmouseover="hndMouseOver({$keyid},'{$label}');" onmouseout="fnhide('crmspanid');">&nbsp;<span id="dtlview_{$label}">
                                    {
    $keyval|regex_replace:"/(^|***91;\n ***93;)(***91;\w***93;+?:\/\/.*?***91;^ \"\n\r\t<***93;*)/":"\\1<a href=\"\\2\" target=\"_blank\">\\2</a>"|regex_replace:"/(^|***91;\n ***93;)((www|ftp)\.***91;\w\-***93;+\.***91;\w\-.\~***93;+(?:\/***91;^ \"\t\n\r<***93;*)?)/":"\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>"|regex_replace:"/(^|***91;\n ***93;)(***91;a-z0-9&\-_.***93;+?)@(***91;\w\-***93;+\.(***91;\w\-\.***93;+\.)****91;\w***93;+)/i":"\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>"|regex_replace:"/,\"|\.\"|\)\"|\)\.\"|\.\)\"/":"\""|replace:"\n":"<br>&nbsp;"}
                                                                    </
    span>
                                                                    <
    div id="editarea_{$label}style="display:none;">
                                                                    <
    textarea id="txtbox_{$label}name="{$keyfldname}"  class=detailedViewTextBox onFocus="this.className='detailedViewTextBoxOn'"onBlur="this.className='detailedViewTextBox'" cols="90" rows="8">{$keyval|replace:"<br>":"\n"}</textarea>
                                                                    <
    br><input name="button_{$label}type="button" class="crmbutton small save" value="{$APP.LBL_SAVE_LABEL}onclick="dtlViewAjaxSave('{$label}','{$MODULE}',{$keyid},'{$keytblname}','{$keyfldname}','{$ID}');fnhide('crmspanid');"/> {$APP.LBL_OR}
                                                                    <
    a href="javascript:;" onclick="hndCancel('dtlview_{$label}','editarea_{$label}','{$label}')" class="link">{$APP.LBL_CANCEL_BUTTON_LABEL}</a>
                                                                    </
    div>
                                                            </
    td>
                                                       {/if}
                                                 {elseif 
    $keyid eq '21' || $keyid eq '24' || $keyid eq '22'} <!--TextArea/Street-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}onmouseover="hndMouseOver({$keyid},'{$label}');" onmouseout="fnhide('crmspanid');">&nbsp;<span id="dtlview_{$label}">{$keyval}</span>
                                                          <
    div id="editarea_{$label}style="display:none;">
                                                            <
    textarea id="txtbox_{$label}name="{$keyfldname}"  class=detailedViewTextBox onFocus="this.className='detailedViewTextBoxOn'"onBlur="this.className='detailedViewTextBox'" rows=2>{$keyval|regex_replace:"/<br\s*\/>/":""}</textarea>                                                      
                                                            <
    br><input name="button_{$label}type="button" class="crmbutton small save" value="{$APP.LBL_SAVE_LABEL}onclick="dtlViewAjaxSave('{$label}','{$MODULE}',{$keyid},'{$keytblname}','{$keyfldname}','{$ID}');fnhide('crmspanid');"/> {$APP.LBL_OR}
                                                            <
    a href="javascript:;" onclick="hndCancel('dtlview_{$label}','editarea_{$label}','{$label}')" class="link">{$APP.LBL_CANCEL_BUTTON_LABEL}</a>
                                                           </
    div>
                                                      </
    td>
                                                 {elseif 
    $keyid eq '50' || $keyid eq '73' || $keyid eq '51'} <!--AccountPopup-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}">&nbsp;<a href="{$keyseclink}">{$keyval}</a>
                                                      </
    td>
                                                 {elseif 
    $keyid eq '57'} <!--ContactPopup-->
                            <!-- 
    Ajax edit link not provided for contact Reports To -->
                                                          <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}">&nbsp;<a href="{$keyseclink}">{$keyval}</a></td>
                                                 {elseif 
    $keyid eq '59'} <!--ProductPopup-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}onmouseover="hndMouseOver({$keyid},'{$label}');" onmouseout="fnhide('crmspanid');">&nbsp;<span id="dtlview_{$label}"><a href="{$keyseclink}">{$keyval}</a></span>
                                                          <
    div id="editarea_{$label}style="display:none;">                                                        
                                                             <
    input id="popuptxt_{$label}name="product_name" readonly type="text" value="{$keyval}"><input id="txtbox_{$label}name="{$keyfldname}type="hidden" value="{$keysecid}">&nbsp;<img src="{$IMAGE_PATH}select.gif" alt="{$APP.LBL_SELECT}title="{$APP.LBL_SELECT}LANGUAGE=javascript onclick='return window.open("index.php?module=Products&action=Popup&html=Popup_picker&form=HelpDeskEditView&popuptype=specific","test","width=600,height=602,resizable=1,scrollbars=1,top=150,left=200");' align="absmiddle" style='cursor:hand;cursor:pointer'>&nbsp;<input type="image" src="{$IMAGE_PATH}clear_field.gif" alt="{$APP.LBL_CLEAR}title="{$APP.LBL_CLEAR}LANGUAGE=javascript onClick="this.form.product_id.value=''; this.form.product_name.value=''; return false;" align="absmiddle" style='cursor:hand;cursor:pointer'>
                                                             <
    br><input name="button_{$label}type="button" class="crmbutton small save" value="{$APP.LBL_SAVE_LABEL}onclick="dtlViewAjaxSave('{$label}','{$MODULE}',{$keyid},'{$keytblname}','{$keyfldname}','{$ID}');fnhide('crmspanid');"/> {$APP.LBL_OR}
                                                            <
    a href="javascript:;" onclick="hndCancel('dtlview_{$label}','editarea_{$label}','{$label}')" class="link">{$APP.LBL_CANCEL_BUTTON_LABEL}</a>
                                                           </
    div>
                                                      </
    td>
                                                 {elseif 
    $keyid eq '75' || $keyid eq '81'} <!--VendorPopup-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}">&nbsp;<a href="{$keyseclink}">{$keyval}</a>
                                                      </
    td>
                                                 {elseif 
    $keyid eq 76} <!--PotentialPopup-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}">&nbsp;<a href="{$keyseclink}">{$keyval}</a>
                                                      </
    td>
                                                 {elseif 
    $keyid eq 78} <!--QuotePopup-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}">&nbsp;<a href="{$keyseclink}">{$keyval}</a>
                                                      </
    td>
                                                 {elseif 
    $keyid eq 82} <!--Email Body-->
                                                      <
    td colspan="3" width=100% class="dvtCellInfo" align="left"><div id="dtlview_{$label}style="width:100%;height:200px;overflow:hidden;border:1px solid gray" class="detailedViewTextBox" onmouseover="this.className='detailedViewTextBoxOn'" onmouseout="this.className='detailedViewTextBox'">{$keyval}</div>
                                                      </
    td>
                                                 {elseif 
    $keyid eq 80} <!--SalesOrderPopup-->
                                                      <
    td width=25% class="dvtCellInfo" align="left" id="mouseArea_{$label}">&nbsp;<a href="{$keyseclink}">{$keyval}</a>
                                                      </
    td>
                             {elseif 
    $keyid eq '52' || $keyid eq '77'
    Không còn gì để nói, Smarty một mớ hỗn độn.
    Được sửa bởi conan1212 lúc 11:44 ngày 13-03-2009
    Quote Quote

  2. #2
    Tham gia
    27-11-2008
    Bài viết
    156
    Like
    0
    Thanked 0 Times in 0 Posts
    Chỉ lấy tiểu số đem đi so với đại số ... hic hic

  3. #3
    Tham gia
    12-03-2005
    Location
    HCM City
    Bài viết
    836
    Like
    0
    Thanked 4 Times in 3 Posts
    Đại số là mấy trang bé bé con con news như ở VN hả em, thử đếm xem cái đoạn trên nó là bao nhiêu dòng, mà đó chỉ là một phần bé tẹo của cái file template thôi nha em
    Được sửa bởi conan1212 lúc 11:59 ngày 13-03-2009

  4. #4
    Tham gia
    13-01-2009
    Bài viết
    86
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi conan1212 View Post
    Đại số là mấy trang bé bé con con news như ở VN hả em, thử đếm xem cái đoạn trên nó là bao nhiêu dòng, mà đó chỉ là một phần bé tẹo của cái file template thôi nha em
    Bạn nên đem đoạn code đó vào http://www.smarty.net thắc mắc, nếu nó ko có hiệu quả thì nó đã bị thanh trừ từ lâu rồi. Tùy theo người viết có tình khéo léo hay ko hay cứ rập khuôn theo công thức như thế. Chẳng có gì là sai cả vì nó chưa được chứng minh là đúng thôi.

  5. #5
    Tham gia
    23-02-2003
    Location
    Melbourne
    Bài viết
    5,201
    Like
    0
    Thanked 24 Times in 18 Posts
    Vấn đề của Smarty ai chả biết mà lão Conan cứ đào lên là sao

  6. #6
    Tham gia
    12-03-2005
    Location
    HCM City
    Bài viết
    836
    Like
    0
    Thanked 4 Times in 3 Posts
    Chẳng có gì là sai cả vì nó chưa được chứng minh là đúng thôi
    Câu này hay ghê
    Quote Được gửi bởi jiSh@n View Post
    Vấn đề của Smarty ai chả biết mà lão Conan cứ đào lên là sao
    Đào lên cho nó có chuyện để bàn, dạo này ko vào đây, lâu lâu vào xì pam chơi
    @all: ở đây bàn về khía cạnh "cái gọi là tách biệt phần design với phần code" nhé mọi người.
    Được sửa bởi conan1212 lúc 14:26 ngày 13-03-2009

  7. #7
    Tham gia
    09-09-2007
    Bài viết
    159
    Like
    5
    Thanked 2 Times in 2 Posts
    First released in January 2001, Smarty has become a stagnant, bug-ridden mess—and also the most popular PHP templating engine in use today. But it shouldn't be. No Smarty was created to warn developers about its use and encourage the use of superior alternatives.
    http://nosmarty.net/

    Xem thử đi bác ..

  8. #8
    Tham gia
    04-12-2004
    Location
    TP.HCM
    Bài viết
    5,242
    Like
    34
    Thanked 895 Times in 566 Posts
    Đã từng có ông nào đó viết câu "Once upon a time, there is one man who hate smarty because he think Smarty is too big for just a template engine." rồi mà lị. Nhưng mà kệ, tới nay vẫn còn có nhiều trang web sử dụng Smarty, không sao cả, họ vẫn chạy tốt. Nói túm lại là nó đã là một phần của lịch sử PHP rồi. Mấy cái Symfony, CakePHP, CodeIgniter,... được ca ngợi nhiều, nhưng thú thực là cho đến nay vẫn chưa có sự thành công như Smarty.

    Nói chung là mời bác PCDINH vào đây nói chuyện. Bác ấy dường như xem PHP là một tôn giáo, hy vọng có bài thuyết pháp hay cho mọi người cùng nghe
    "bất khả tri"

  9. #9
    Tham gia
    07-02-2009
    Bài viết
    69
    Like
    0
    Thanked 0 Times in 0 Posts
    hic, mình gà lắm, các bạn có ai tốt giải thích cho mình cái đoạn code trên nó có vấn đề gì vậy.

  10. #10
    Tham gia
    14-12-2008
    Bài viết
    1,343
    Like
    16
    Thanked 10 Times in 10 Posts
    em thấy nhiều cái hỗ trợ cho php mà muốn xài thì học cách xài nó cũng mệt vãi . nếu hiểu code php thì tự làm cho đơn giản .

Trang 1 / 15 12346 ... LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •