#15919 gửi bởi viking213
Ngày 31 Tháng 03 2008 , 22:38
Ai đó có thể nói cho em cách xây dựng một module và block không? Em muốn tự xây dựng một module hoặc block theo yêu cầu riêng của mình trên nền nuke việt nhưng chưa biết bắt đầu thế nào? Xin giúp cho em biết được cấu trúc để xây dựng một module và một block có kết nối cơ sở dữ liệu là như thế nào, gồm những file gì, nằm ở thư mục nào trong nuke việt. Nói chung là kinh nghiệm và các bước để xây dựng một module hoàn chỉnh để có thể cài vào nukeviet giống như những module đã có trong diễn đàn. Em đang có một số ý tưởng nhưng chưa có đường đi để thực hiện, rất mong được sự giúp đỡ của mọi người, nếu thành công em sẽ shared lại các module và block lên diễn đàn để mọi người cùng cài đặt và sử dụng.
#18355 gửi bởi viking213
Ngày 30 Tháng 05 2008 , 02:51
Thấy ghé xem cũng nhiều mà không ai trả lời cho chủ đề này nhỉ, với một newbie mà ngồi mày mò viết một modules thì thật cực khổ khi đã có những ý tưởng mà không có đường đi. Các cao thủ cho một vài gợi ý để anh em học tập và phát triển modules cho nukeviet đi
#18381 gửi bởi tienviet
Ngày 30 Tháng 05 2008 , 07:54
Gửi bạn: viking213
1.Thật ra việc tạo một block hay một modules cũng không phải là khó nếu bạn đã có sẵn một mã nguồn công cụ ( Ví dụ mã lấy tin tự dộng từ các báo)
Bạn chỉ việc sử dụng công cụ NukeViet_Tools làm theo hướng dẫn là được
http://vedau.org/nukeviet/modules.php?n ... Viet_Tools

2 . Tuy nhiên tạo ra một mudules theo một ý tưởng không xác định thì không phải đơn giản. Tuỳ theo ý tưởng mà cách tạo modules sẽ đòi hỏi cầu kỳ hay đơn giản. Ví dụ : bạn có dùng lang_vietnammese hay không, có cần phải tạo cơ sở dữ liệu không ( tạo cơ sở dữ liệu thì các table dự kiến là cái gì??), dùng block phải riêng hay block phải chung của hệ thống .....

Vì thế , vấn đề bạn nêu không thể hướng dẫn chio tiết được

Làm thơ nên tránh vần ồn Kẻo không động đến cái .......tâm hồn chị em !
#19727 gửi bởi viking213
Ngày 27 Tháng 06 2008 , 06:04
Tất nhiên những điều bạn đưa ra thì người lập trình với bất kỳ ngôn ngữ nào cũng phải xác định trước rồi. Ý mình hỏi là ví dụ muốn làm một modules có quản lý của người quản trị thì sẽ tạo những file gì, nằm ở đâu, ý nghĩa của nó? (chẳng hạn như theo mình thấy thì file links dùng để tạo các biểu tượng có liên kết trong khu vực quản trị để kích hoạt quản trị modules đó),v.v...
#19731 gửi bởi anhtu
Ngày 27 Tháng 06 2008 , 06:47
Một module thông thường của nukeviet có các file sau đây:
1/modules/Tên_module/index.php
2/modules/Tên_module/language/lang-english.php
3/modules/Tên_module/language/lang-vietnamese.php
4/admin/case/case.tên_module.php
5/admin/links/links.tên_module.php
6/admin/language/Tên_module_english.php
7/admin/language/Tên_module_vietnamese.php
8/admin/modules/tên_module.php

ngoài ra có thể có các file images nằm trong thư mục images, block-Xyz.php trong thư mục blocks...
File 01 chứa mã nguồn gồm các functions, là file chính, bắt buộc phải có. Tất cả ý đồ, chức năng mà người thiết kế muốn có và gửi đến người xem được viết trong file này.
Files 02 & 03 là các file ngôn ngữ. Thông thường trong file 01, để thể hiện một từ, một ngữ nào đó (về phương diện ngôn ngữ), người ta dùng ký hiệu. Ví dụ, trong file 01 có đoạn:
Mã: Chọn hết
echo _XYZ;

_XYZ được định nghĩa ở các file ngôn ngữ 02 & 03. Ví dụ, trong file 02:
Mã: Chọn hết
define('_XYZ','Tôi yêu em');

trong file 03:
Mã: Chọn hết
define('_XYZ','I love you');

khi người xem dùng ngôn ngữ Vietnamese, _XYZ sẽ được thể hiện bằng: "Tôi yêu em"; nếu English - "I love you".
file 04 -> 08 nằm trong khu vực admin, nghĩa là nó phục vụ cho việc quản lý module mà bạn tạo.
File 04 dùng để khai báo và đồng nhất các function có mặt trong file 08.
File 05, đúng như bạn viết, dùng để tạo các biểu tượng có liên kết trong khu vực quản trị để kích hoạt quản trị modules đó.
File 06, 07 là các files ngôn ngữ, phục vụ cho admin, chỉ có hiệu lực ở khu vực quản lý module mà ta đang nói đến.
FIle 08 là file chứa các function quản lý module, chỉ dùng cho admin.

Đó là cấu trúc sơ đẳng nhất, các bạn cần tuân thủ khi tạo module.
Ngoài ra, cần chú ý đến cách đặt tên module:
- chỉ dùng các ký tự có trong bảng chữ cái latin.
- trong 8 file viết trên, chỗ nào chữ "Tên_module" được viết hoa chữ cái đầu thì khi đặt tên file, bạn cũng phải làm tương tự như vậy.

Block "Thêm tôi vào Google+" cho NukeViet:
http://www.nguyenanhtu.net/2011/07/bloc ... eviet.html

My Google+:
https://plus.google.com/100133071209528072246/posts
#58603 gửi bởi xman
Ngày 18 Tháng 07 2010 , 02:54
hiện tại cấu trúc hệ thống đã hoàn toàn thay đổi, cấu trúc cơ bản của modules:

Mã: Chọn hết
admin/ ----chứa các file xử lý dữ liệu bên trong khu vực quản trị
admin/main.php--file này được chạy khi vào quản trị module
admin/content.php --file này thường dùng để thêm dữ liệu cho module
admin/abc.....php --các file là các chức năng quản trị khác nhau của module
blocks/ ----chứa các file hiển thị nội dung dạng blocks khi thêm block và chọn module này sẽ đc liệt kê ra
funcs/---chứa các file xử lý dữ liệu bên ngoài site, chính là các function khi vào module
funcs/main.php -- file này được chạy khi vào module
funcs/abc....php các file chứa các chức năng của module
js/ ---các file javascript sử dụng bên trong module nếu cần
language/---các file ngôn ngữ trong admin và bên ngoài site cho module
themes/tênthemes/images/tênmodule --- chứa các file ảnh dùng trong module
themes/tênthemes/css/tênmodule.css --- chứa các khai báo css dùng trong module
themes/tênthemes/modules/tênmodule---chứa các file template dùng cho các function của module
uploads/tênmodule -- thư mục chứa dữ liệu đc upload lên từ module
uploads/tênmodule/abc..... - các thư mục con khác chứa những dữ liệu của module nếu cần
data/tênmodule -- thông thường thì rất ít module sử dụng thư mục này nên hầu như là không có (module XChat có sử dụng thư mục này)
temp/cácfiledomoduletaora----các file tạm mà module có thể tạo ra trong thư mục này (chức năng đóng gói module và đóng gói theme đã sử dụng thư mục này)
cache/cácfiledomoduletaora---- các file dạng cache nếu module cho phép tạo cache (blocks cũng có thể dùng thư mục này hiện tại có block Twitter đã sử dụng)
action.php--- chứa thông tin cho việc cài đặt và gỡ bỏ csdl của module
version.php--- chứa thông tin về module như người tạo ngày tạo và phiên bản...
admin_functions.php---khai báo cho phép thực hiện các function nào trong khu vực quản trị và khai báo menu quản trị khi vào quản lý module
functions.php--dùng để chứa các function dùng chung cho các file funcs
search.php--- nếu muốn tìm kiếm thêm lựa chọn là module thì khai báo thêm file này
rssdata.php---nếu muốn cấp nguồn rss từ module này


trên đây là sơ lược cấu trúc phát triển của 1 module trong phiên bản NukeViet 3.0.

thân ái Xman :)

http://www.thamtunamviet.com - Dịch vụ thám tử tư Việt Nam http://www.thegioimanguon.com - Thế giới mã nguồn
#137605 gửi bởi clickonce
Ngày 08 Tháng 05 2013 , 05:38
Em có làm theo hướng dẫn viết block cho NukeViet trên wiki của NukeViet. Em chỉ muốn viết block hiển thị "hello world" nhưng khi em ra front-end bật kéo thả blog và thêm block nhưng cứ thêm xong là site trắng xóa ko có j cả, em đã tạo thử cả 2 loại block: module và global nhưng đều như vậy cả. Cấu trúc em tạo block như sau:
include/blocks/global.myblock.php. không biết em có phải tạo thêm các file nào ở những thư mục nào nữa không nhỉ? em đang dùng NukeViet 3.4
#137624 gửi bởi hoaquynhtim99
Ngày 08 Tháng 05 2013 , 17:51
clickonce đã viết: xong là site trắng xóa ko có j cả, em đã tạo thử cả 2 loại block
Gửi nội dung block của bạn lên đây xem sao

Hãy sống là chính mình, bình thường nhưng không tầm thường.
#137629 gửi bởi clickonce
Ngày 08 Tháng 05 2013 , 22:36
Mã: Chọn hết
<?php

/**
* @Project NUKEVIET
* @Author Chicken
* @Copyright (c) 2013
* @Createdate 8/5/2013 14:00
*/

if(!defined('NV_MAINFILE')) or die('Stop !!!');

$content = "<div>";
$content .= "Hello world";
$content .= "</div>";

?>

đó là block của em.