Tôi đang sử dụng khung công tác Yii để xây dựng bản thân hệ thống theo dõi dự án của một người đàn ông nghèo. Mục tiêu là phải có một widget/biểu mẫu "quấy rối" tương tự như basecamp's tiện ích ghi chú để hiển thị ghi chú có tiêu đề và trường nội dung. (Tôi không còn sử dụng basecamp do đó không thể đăng hình ảnh của tiện ích con ghi chú của họ trông như thế nào :-()Tiện ích văn bản crud tại chỗ của Yii
Sử dụng Yii, tôi có mô hình khách hàng và tôi muốn hiển thị trong div tất cả ghi chú tương ứng với khách hàng này và có chức năng CRUD cho các ghi chú này ngay trong cùng một trang webroot/client/view/client_id
.
Triển khai gần nhất tôi tìm thấy trực tuyến được thực hiện hoàn toàn trong jquery, jeditable, nhưng thiếu chức năng tạo và xóa. Ngoài ra, nó không có mô hình Yii (CActiveRecord) hỗ trợ, có nghĩa là một trong những nhu cầu để cứng dây dữ liệu truyền qua lại trong mã điều khiển mà không tận dụng lợi thế của thiết lập MVC của Yii.Những gì tôi có bây giờ: Một biểu mẫu ẩn được gửi qua AJAX (forcCreation) và tiện ích Zii CListView (dành cho Retrieve) của ghi chú, lợi dụng chức năng cập nhật tiện ích zii được tích hợp sẵn $.fn.yiiListView.update('clistview_id');
, nhưng tôi thích bị mắc kẹt trên phần U và D của trò chơi sử dụng tiện ích Yii/Zii, jquery hoặc kết hợp những thứ đó.
Khách hàng của tôi/view.php đoạn:
<div class="note_create">
<?php echo CHtml::button('Add new note',array('class'=>'create-note-button')) ?>
<div class="create-note-form" style="display: none;">
<!-- _createNote is just a CActiveForm with a CHtml::ajaxSubmitButton-->
<?php $this->renderPartial('_createNote', array('client' => $model, 'note' => $note)); ?>
</div>
</div>
<div class="note_browser">
<?php $this->widget('zii.widgets.CListView', array(
'id' => 'clist_note_browser',
'dataProvider' => $model->noteSearch(),
'itemView' => '_note', // refers to the partial view named '_note'
'emptyText' => 'No notes found.',
'sortableAttributes' => array(
'note.title',
'note.last_modify'
),
));
?>
</div>
Lưu ý rất đơn giản mẫu:
<?php
/**
* This is the model class for table "note".
*
* The followings are the available columns in table 'note':
* @property string $nid
* @property string $title
* @property string $content
* @property string $first_create
* @property string $last_modify
*
* The followings are the available model relations:
* @property ClientNote $client ClientNote an intermediate table with two columns: nid, cid
*/
class Note extends CActiveRecord
{
...
public function relations()
{
return array('client' => array(self::HAS_ONE, 'ClientNote', 'nid'),);
}
...
}
Có ai có bất cứ đề nghị?
Mô-đun Gii của Yii có loại tiện ích này (để chỉnh sửa tiền tố bảng trong tạo mô hình và các nội dung khác). Hãy xem mã của nó. Nhưng tôi nghĩ rằng chỉ UPDATE được hỗ trợ – dInGd0nG