Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
systems:yii2:examples [2018/05/25 11:26]
smayr [Modal Window]
systems:yii2:examples [2018/10/04 17:05] (current)
ajdavis [Copy to Clipboard using Javascript]
Line 989: Line 989:
 <code php> <code php>
 <?php  <?php 
-use yii\helpers\Url+    // Method 1: Button 
-... +    \yii\helpers\Html::button('Privacy Policy',
-    // Method 1 +        'id'    => 'btnPrivacyPolicy', 
-    echo Html::a('Privacy Policy', ['site/privacy']);+        'class' => 'btn btn-default btn-sm', 
 +    ])
 +                 
 +    // Method 2: Link styled as button 
 +    echo \yii\helpers\Html::a('Privacy Policy', ['site/privacy']);
  
-    // Method 2 +    // Method 3: Link styled as button 
-    $url = urldecode(Url::toRoute(['site/privacy'])); +    $url = urldecode(\yii\helpers\Url::toRoute(['site/privacy'])); 
-    echo Html::a('Privacy Policy', $url);+    echo \yii\helpers\Html::a('Privacy Policy', $url);
          
-    // Method 3 +    // Method 4: Link styled as button 
-    echo Url::to(['site/privacy']); +    echo \yii\helpers\Url::to(['site/privacy']); 
 ?> ?>
 </code> </code>
Line 1526: Line 1530:
  
 === Modal Window === === Modal Window ===
 +  * See: [[systems:yii2:Modal Window]]
  
-<code php> 
-<?php 
-    //------------------------ 
-    // Image 
-    //------------------------ 
-    $itemImage = (!empty($model->image_file) ?  
-        Yii::$app->homeUrl . 'img/data/' . Yii::$app->controller->id . "/{$model->image_file}" 
-        '' 
-    ); 
-     
-    //------------------------ 
-    // Image Thumbnail 
-    //------------------------ 
-    if(!empty($itemImage)) { 
-        echo "<img class='img-thumbnail' src='{$itemImage}' alt='Item Image'>"; 
-    } else { 
-        echo "<img class='img-thumbnail' src='data:image/png;base64," 
-            base64_encode(\app\models\Tool::generateEmptyPng()) . "'/>"; 
-    } 
  
- 
-    echo Html::a('<i class="fa fa-plus" aria-hidden="true"></i> ' . Yii::t('app', 'Add Image'),  
-        ['upload-image', 'id' => $model->id], ['class' => 'btn btn-default'] 
-    ); 
- 
-    //------------------------ 
-    // Modal to view image  
-    //------------------------ 
-    yii\bootstrap\Modal::begin([ 
-        'header' => '<h4>Item Image</h4>', 
-        'size'   => yii\bootstrap\Modal::SIZE_LARGE, 
-        'toggleButton' => [ 
-            'label' => '<i class="fa fa-image" aria-hidden="true"></i> ' . Yii::t('app', 'View Image'),  
-            'class' => 'btn btn-default' 
-        ], 
-    ]); 
- 
-    if(!empty($itemImage)) { 
-        echo "<img class='img-fluid' src='{$itemImage}' alt='Item Image'>"; 
-    } else { 
-        echo "<img class='img-fluid' src='data:image/png;base64," 
-            base64_encode(\app\models\Tool::generateEmptyPng()) . "'/>"; 
-    } 
-    echo '<div class="modal-footer">'; 
-    echo '    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>'; 
-    echo '</div>'; 
- 
-    yii\bootstrap\Modal::end();   
-?> 
-</code> 
- 
-Example of confirmation dialog: 
-<code php> 
-<?php 
-function getConfirmationDialog() 
-{ 
-    $str = ''; 
-    $str .= '<!-- Button trigger modal -->'; 
-    $str .= '<button type="button" class="btn btn-default btn-sm" data-toggle="modal" data-target="#modalConfirmDelete">'; 
-    $str .= '  <span class="fa fa-trash-o" aria-hidden="true"></span>'; 
-    $str .= '</button>'; 
-    $str .= ''; 
-     
-    $str .= '<!-- Modal -->'; 
-    $str .= '<div class="modal fade" id="modalConfirmDelete" tabindex="-1" role="dialog" aria-labelledby="modalLabelConfirmDelete">'; 
-    $str .= '  <div class="modal-dialog modal-sm" role="document">'; 
-    $str .= '    <div class="modal-content">'; 
-    $str .= '      <div class="modal-header">'; 
-    $str .= '        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>'; 
-    $str .= '        <h4 class="modal-title" id="modalLabelConfirmDelete">Delete</h4>'; 
-    $str .= '      </div>'; 
-    $str .= '      <div class="modal-body"><p>Delete selected records?</p></div>'; 
-    $str .= '      <div class="modal-footer">'; 
-    $str .= '          <button type="button" class="btn btn-primany" data-dismiss="modal">OK</button>'; 
-    $str .= '          <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>'; 
-    $str .= '      </div>'; 
-    $str .= '    </div>'; 
-    $str .= '  </div>'; 
-    $str .= '</div>'; 
- 
-    return $str; 
-} 
-?> 
-</code> 
 == Events == == Events ==
  
Line 1736: Line 1658:
             'createdAtAttribute' => 'created_at', // OR 'create_time', to override default field name             'createdAtAttribute' => 'created_at', // OR 'create_time', to override default field name
             'updatedAtAttribute' => 'updated_at', // OR 'update_time', to override default field name             'updatedAtAttribute' => 'updated_at', // OR 'update_time', to override default field name
-            'value' => new \yii\db\Expression('NOW()'),+            'value' => new \yii\db\Expression('NOW()'),  // for PHP/SQL datetime field 
 +            //'value' => time(),                         // for epoch time (unix) field
         ],         ],
         [         [
Line 3036: Line 2959:
 $dataProviderPrice->pagination->pageSizeLimit   = false; $dataProviderPrice->pagination->pageSizeLimit   = false;
 </code>         </code>        
 +
 +== Copy to Clipboard using Javascript ==
 +
 + # Add a reference to the //ClipboardJS// library either by using Yii2 registerJsFile or adding the file to ''assets\AppAsset.php''
 + # Add javascript to your page that creates an instance of ClipboardJS:
 +<code php>$this->registerJs("var clipboard = new ClipboardJS('.btn-clip');", \yii\web\View::POS_END);</code>
 + # Add a button that follows this logic:
 +<code html>
 +<i class="fa fa-copy btn btn-default btn-clip" data-clipboard-text="value-to-copy"></i>
 +</code>