Nội quy chuyên mục: - Chuyên mục này chỉ sử dụng cho việc chia sẻ các tài liệu và hướng dẫn, vui lòng không đặt câu hỏi tại đây. Các thảo luận có liên quan vui lòng gửi đúng topic.
- Các tài liệu chính thức được cung cấp tại http//wiki.nukeviet.vn/technical_manual
#62507 gửi bởi xman
Ngày 22 Tháng 08 2010 , 13:35
Lâu rồi Xman không viết bài hướng dẫn nào cho mọi người vì bận nhiều việc riêng quá. Hôm nay tranh thủ viết bài hướng dẫn cách bạn viết block cho phiên bản NukeViet 3.0.

Yêu cầu:
-Phiên bản NukeViet 3.0
-Một trình soạn thảo text

OK, bài này mình sẽ hướng dẫn một cách chung nhất và bạn có thể viết được 1 block theo ý mình.

Đối với các blocks dạng global nằm trong thư mục includes/blocks mà bạn muốn sử dụng xuyên suốt trên toàn bộ các khu vực tức là có thể chạy trên tất cả các module cách thức đặt tên như sau:
Mã: Chọn hết
global.tênblock.php

trong đó global là bắt buộc để hệ thống nhận dạng đó là block.

Đối với các blocks của module thường nằm trong thư mục modules/tênmodule/blocks thì cách thức đặt tên như sau:
Mã: Chọn hết
module.tênblock.php

trong đó bắt buộc phải bắt đầu bằng từ "module".
Do đó các bạn xác định sẽ viết block dạng nào và thuộc module nào thì nhớ là đặt đúng vị trí thư mục và đúng tên.

Cấu trúc 1 block của NV (NukeViet) bạn có thể thấy ví dụ như block global about như sau:
Mã: Chọn hết
<?php

/**
* @Project NUKEVIET 3.0
* @Author VINADES.,JSC (contact@vinades.vn)
* @Copyright (C) 2010 VINADES., JSC. All rights reserved
* @Createdate 3/25/2010 18:6
*/
if ( ! defined( 'NV_SYSTEM' ) ) die( 'Stop!!!' );

if ( ! function_exists( 'nv_message_about' ) )
{
function nv_message_about()
{
global $global_config, $db, $lang_global, $site_mods, $module_file;

$sql = "SELECT `id`,`title`,`alias`,`bodytext` FROM `" . NV_PREFIXLANG . "_about` WHERE status = 1 LIMIT 1";
$result = $db->sql_query( $sql );
$num = $db->sql_numrows( $result );
if ( $num )
{
list( $id, $title, $alias, $bodytext ) = $db->sql_fetchrow( $result );
$link = NV_BASE_SITEURL . "?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=about&amp;" . NV_OP_VARIABLE . "=" . $alias;
$bodytext = strip_tags( $bodytext );
$bodytext = nv_clean60( $bodytext, 300 );
$xtpl = new XTemplate( "global.about.tpl", NV_ROOTDIR . "/themes/" . $global_config['site_theme'] . "/blocks/" );
$xtpl->assign( 'LINK', $link );
$xtpl->assign( 'TITLE', $title );
$xtpl->assign( 'BODYTEXT', $bodytext );
$xtpl->parse( 'main' );
$content = $xtpl->text( 'main' );
return $content;
}
}
}

$content = nv_message_about();

?>


Phần mở đầu chính là thông tin về tác giả và mô tả về block các bạn có thể bỏ qua cũng được
Mã: Chọn hết
/**
* @Project NUKEVIET 3.0
* @Author VINADES.,JSC (contact@vinades.vn)
* @Copyright (C) 2010 VINADES., JSC. All rights reserved
* @Createdate 3/25/2010 18:6
*/


Tiếp theo đó là phần khai báo kiểm tra xem có thuộc hệ thống hay không và chống truy cập trực tiếp.

Đối với block dạng global thì ta sẽ khai báo như sau:
Mã: Chọn hết
if ( ! defined( 'NV_SYSTEM' ) ) die( 'Stop!!!' );


Đối với block của module thì ta sẽ khai báo cú pháp như sau:
Mã: Chọn hết
if ( ! defined( 'NV_IS_MOD_TENMODULE' ) ) die( 'Stop!!!' );

trong đó TENMODULE chính là tên thư mục module mà bạn muốn viết block cho module này

Tiếp theo là :
Mã: Chọn hết
if ( ! function_exists( 'nv_message_about' ) )
{
function nv_message_about()
{
....code content...
}
}

Nhiệm vụ của dòng này là php sẽ kiểm tra xem hàm "nv_message_about" có tồn tại hay chưa nếu chưa thì tiến hành khai báo hàm này nếu có rồi thì sẽ không khai báo nữa, hàm này là tuỳ ý bạn đặt tên, lý do đó chính là hệ thống NV cho phép bạn thêm trên 1 trang nhiều nhiều block cùng 1 file do đó nếu trên cùng 1 trang và khai báo hàm đã được khai báo sẽ phát sinh lỗi.

Ngoài ra thông thường nếu block của bạn không cần phải xử lý những chức năng hay dữ liệu bằng việc tạo ra các hàm xử lý đặc biệt thì có thể bỏ qua không cần khai báo dòng trên.

OK, trong đoạn trên các bạn để ý dòng "...code content..." đây chính là phần bạn cần lập trình để tạo ra block theo mục đích của mình.

Để có thể thực hiện và lấy dữ liệu từ hệ thống 1 cách chính xác bạn cần phải hiểu qua một vài biến global mà hệ thống cung cấp cho bạn:
Mã: Chọn hết
global $global_config, $db, $lang_global, $module_file,....;


$global_config: đây chính là mảng chứa những giá trị cấu hình của hệ thống nếu bạn cần.
$db: đây chính là 1 object cho phép bạn truy cập những method được xây dựng sẵn trong class mysql của hệ thông
$lang_global: đây chính là mảng chứa giá trị là những định nghĩa ngôn ngữ xây dựng sẵn của hệ thống
$module_name: đây chính là tên module đang được truy cập đến.
$module_data: đây chính là tên bảng mysql được thiết lập và tạo ra trong csdl mà module đang được truy cập đến để lấy dữ liệu.


Thông thường nếu bạn là 1 người phát triển 1 module nào đó những biến mà bạn tạo ra nếu có thể dùng được và cho phép dùng ở dạng global ở block thì các bạn có thể khai báo thêm vào phần phía sau trong dòng code trên.

CONSTANT VARIBALE:

NV_PREFIXLANG: đây chính là kết hợp giữa giá trị $db_config['prefix'] và NV_LANG_DATA tức là sẽ lấy giá trị tiền tố trong quá trình bạn cài đặt NV và viết tắt của ngôn ngữ hiện tại đang dùng có thể là "vi" hoặc "en" hoặc 1 ngôn ngữ nào đó mà trên hệ thống của bạn có.
NV_BASE_SITEURL : biến này sẽ trả về giá trị là thư mục hoặc cấp cao nhất mà website của bạn đang chạy ví dụ đường dẫn website của bạn là http://user.vn/ thì hàm này trả về là "/"
NV_LANG_VARIABLE: biến này trả về giá trị chính là "lang"
NV_LANG_DATA: như đã giải thích ở NV_PREFIXLANG
NV_NAME_VARIABLE: biến này trả về giá trị ví dụ là "nv"
NV_OP_VARIABLE: biến này trả về giá trị ví dụ là "op"
NV_ROOTDIR: biến này trả về chính là đường dẫn vật lý trên đĩa cứng đang chứa thư mục chạy nukeviet của bạn ví dụ như của xman là : D:/xampp/htdocs/nukeviet3svn lưu ý là không có dấu / ở cuối cùng


Sau đây là hướng dẫn cách bạn truy xuất vào csdl của nukeviet. Trước khi thực hiện bạn phải xác định được bạn muốn lấy dữ liệu từ bảng nào, và truy xuất bao nhiêu row trong csdl. Ví dụ sau đấy là lấy ra các bản ghi trong module about tạo ra tôi sẽ làm như sau
Mã: Chọn hết
$sql = "SELECT `id`,`title`,`alias`,`bodytext` FROM `" . NV_PREFIXLANG . "_about` WHERE status = 1 LIMIT 1";
$result = $db->sql_query( $sql );

Thông thường thì khi lấy dữ liệu thì sẽ kèm theo nó là lấy dữ liệu theo điều kiện ví dụ ở đây là WHERE status = 1 tức là tôi chỉ lấy SELECT những bản ghi có trường "status" = 1 tương đương với việc bản ghi này ý nghĩa có thể cho phép hoạt động trên site trong bảng FROM `" . NV_PREFIXLANG . "_about` . Trường "status" chinh là trường mà người viết module đặt ra và sẽ khác nhau với mỗi module ví dụ có module sẽ là "active" hoặc khác do đó không cố định. Nếu bạn không lấy theo điều kiện nào thì có thể bỏ câu lệnh WHERE đằng sau này.

Trong câu lệnh trên tôi chỉ lấy ra id, title, alias và bodytext từ bảng about và với điều kiện status là 1
Để trả về kết quả có thực hiện câu lệnh sql trên được hay không tôi sử dụng gán kết quả vào biến $result bằng phương thức $db->sql_query($sql):
Mã: Chọn hết
$result = $db->sql_query( $sql );

Ở đây mỗi lần truy cập tôi chỉ lấy được 1 bản ghi do đó để lấy hết số lượng bản ghi đáp ứng được điều kiện của tôi thì tôi sử dụng vòng lặp WHILE:
Mã: Chọn hết
while ( list( $id, $listcatid, $publtime, $exptime, $title, $alias, $homeimgthumb ) = $db->sql_fetchrow( $result ) )

Trong câu lệnh trên tôi dùng hàm list và gán các giá trị lấy được từ csdl vào biến tương ứng với số field trong câu lệnh SELECT phía trên. Để lấy được các bản ghi tôi sử dụng phương thức $db->sql_fetchrow:
Mã: Chọn hết
$db->sql_fetchrow( $result )

và $result chính là kết quả trả về từ $db->sql_query

Sau khi đã có dữ liệu chính là các biến:
Mã: Chọn hết
$id, $listcatid, $publtime, $exptime, $title, $alias, $homeimgthumb


thì các bạn có thể thay đổi hoặc sửa đổi tuỳ theo ý thích của mình và điều quan trọng sau cùng đó là muốn hiển thị kết quả ra cho người dùng như thế nào.

Để xuất dữ liệu hiển thị ra ngoài bạn chỉ việc đẩy các giá trị vào biến:
Mã: Chọn hết
$content

Ví dụ tôi chỉ xuất đơn thuần các biến ra ngoài mà chưa định dạng html hiển thị như sau:
Mã: Chọn hết
$content = $id. $listcatid. $publtime. $exptime. $title. $alias. $homeimgthum;


Ok trên đây là cách thức xây dựng 1 block đơn thuần và vấn đề của bạn là ứng dụng nó vào kết hợp với các mã html cho các biến trên để dịnh dạng đẹp mắt hơn cho việc hiển thị ra bên ngoài.
Cuối cùng là vào admin và thử thêm block này và chiêm ngưỡng thành quả.

Chúc các bạn thành công, Xman !

Source: http://www.thegioimanguon.com/2010/08/23/huong-dan-viet-block-cho-phien-ban-nukeviet-3-0/

http://www.thamtunamviet.com - Dịch vụ thám tử tư Việt Nam http://www.thegioimanguon.com - Thế giới mã nguồn
#62606 gửi bởi comein2003c
Ngày 23 Tháng 08 2010 , 05:42
Thank xman rất nhiều. Có cái này anh em sẽ thích nghi nhanh hơn.

-------------------------------- Nguyễn Văn Tuyến. Đơn vị: Trường THCS & THPT Nguyễn Bình http://thptnguyenbinhqn.edu.vn yahoo: Comein2003c Email: Comein2003c@gmail.com Phone:0973.07.07.00 - 01216.404.101
#62612 gửi bởi xman
Ngày 23 Tháng 08 2010 , 07:15
Tạo 1 file tên là global.getcatid.php và copy nội dung bên dưới vào file này. Đặt file này trong thư mục includes/blocks.

Nhiệm vụ của file này là lấy các bản tin thuộc chủ đề đã chỉ định:
$catid : id của chủ đề
$num : số lượng bản tin muốn lấy
$striptext: cắt bớt nếu nội dung quá dài
$imgwidth: độ rộng của ảnh
$imgheight: chiều cao của ảnh


Mã: Chọn hết
<?php

/**
* @Author Xman (admin@user.vn)
* @Website http://user.vn
* @Description Get rows from catid
*/

$catid = 1; # cat id
$num = 10; # amount rows to get
$striptext = 100; #cutout long text
$imgwidth = 52; #image width
$imgheight = 60; #image height


global $global_config, $db, $lang_global, $site_mods, $module_file;

$sql = "SELECT id, title, alias, hometext, homeimgalt, homeimgthumb FROM `" . NV_PREFIXLANG . "_news_" . $catid . "` WHERE homeimgfile!='' AND `status`= 1 AND `publtime` < " . NV_CURRENTTIME . " AND (`exptime`=0 OR `exptime`>" . NV_CURRENTTIME . ") ORDER BY `publtime` DESC LIMIT 0, " . $num . "";
$result = $db->sql_query ( $sql );
$content = '<ul class="listnews">';
while ( list ( $id, $title, $alias, $hometext, $homeimgalt, $homeimgthumb ) = $db->sql_fetchrow ( $result ) ) {
list ( $catalias ) = $db->sql_fetchrow ( $db->sql_query ( "SELECT alias FROM `" . NV_PREFIXLANG . "_news_cat` WHERE catid=" . $catid . "" ) );
$link = NV_BASE_SITEURL . "?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=news&amp;" . NV_OP_VARIABLE . "=" . $catalias . "/" . $alias . "-" . $id;
$homeimgthumb = explode ( '|', $homeimgthumb );
$imglink = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/news/' . $homeimgthumb [0];
$hometext = strip_tags ( $hometext );
$hometext = nv_clean60 ( $hometext, $striptext );
$content .= '
<li class="clearfix" style="margin:5px">
<a title="' . $title . '" href="' . $link . '"><img src="' . $imglink . '" alt="' . $homeimgalt . '" width="' . $imgwidth . '" height="' . $imgheight . '" style="margin-right: 5px; float: left;"></a>
<a title="' . $title . '" href="' . $link . '"><strong>' . $title . '</strong></a><br />'.$hometext.'
</li>
';
}
$content .= '</ul>';
?>
Đính kèm
(959 bytes) Đã tải về 404 lần

http://www.thamtunamviet.com - Dịch vụ thám tử tư Việt Nam http://www.thegioimanguon.com - Thế giới mã nguồn
#62642 gửi bởi lethituyetmai
Ngày 23 Tháng 08 2010 , 11:22
Em cảm ơn anh!
Sao em sửa code block tin ảnh lại không được anh nhỉ, code tìm hiểu theo cách của anh mà. Em muốn lấy thứ tự các bản tin mà thêm [ ] vào toàn bị lỗi mới lấy được thứ tự các ảnh trong bản tin còn link và title không sao làm được.
như em thêm vào như này là bị lỗi
Mã: Chọn hết
$link[] = NV_BASE_SITEURL . "?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=news&amp;" . NV_OP_VARIABLE . "=" . $catalias . "/" . $alias . "-" . $id;

Cũng vậy nhưng em làm ở link ảnh thì lại được
Mã: Chọn hết
$imglink[] = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/news/' . $homeimgfile [0];

, nhờ anh xem hộ em
Mã: Chọn hết
<?php


global $global_config, $prefix, $db, $lang_global, $site_mods, $module_file;

$catid = 1; # cat id
$num = 10; # amount rows to get
############### Het phan khai bao ##########################

$sql = "SELECT id, title, alias, hometext, homeimgalt, homeimgfile FROM `" . NV_PREFIXLANG . "_news_" . $catid . "` WHERE homeimgfile!='' AND `status`= 1 AND `publtime` < " . NV_CURRENTTIME . " AND (`exptime`=0 OR `exptime`>" . NV_CURRENTTIME . ") ORDER BY `publtime` DESC LIMIT 0, " . $num . "";
$result = $db->sql_query ( $sql );
while ( list ( $id, $title, $alias, $hometext, $homeimgalt, $homeimgfile ) = $db->sql_fetchrow ( $result ) ) {
list ( $catalias ) = $db->sql_fetchrow ( $db->sql_query ( "SELECT alias FROM `" . NV_PREFIXLANG . "_news_cat` WHERE catid=" . $catid . "" ) );
$link = NV_BASE_SITEURL . "?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=news&amp;" . NV_OP_VARIABLE . "=" . $catalias . "/" . $alias . "-" . $id;
$homeimgfile = explode ( '|', $homeimgfile );
$imglink[] = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/news/' . $homeimgfile [0];
}
$content = "";
$content .=" <center><script type=\"text/javascript\" language=\"JavaScript\">\n";
$content .=" <!--\n";
$content .=" var slideimages = new Array(\"$imglink[0]\",\"$imglink[1]\",\"$imglink[2]\",\"$imglink[3]\",\"$imglink[4]\",\"$imglink[5]\",\"$imglink[6]\",\"$imglink[7]\",\"$imglink[8]\",\"$imglink[9]\");\n";
$content .=" var slidelinks = new Array(\"$link[0]\",\"$link[1]\",\"$link[2]\",\"$link[3]\",\"$link[4]\",\"$link[5]\",\"$link[6]\",\"$link[7]\",\"$link[8]\",\"$link[9]\");\n";
$content .=" var slidetitle = new Array(\"$title[0]\",\"$title[1]\",\"$title_top1[2]\",\"$title_top1[3]\",\"$title_top1[4]\",\"$title_top1[5]\",\"$title_top1[6]\",\"$title_top1[7]\",\"$title_top1[8]\",\"$title_top1[9]\");\n";
$content .=" var slidehometext = new Array(\"$homenew1[0]\",\"$homenew1[1]\",\"$homenew1[2]\",\"$homenew1[3]\",\"$homenew1[4]\",\"$homenew1[5]\",\"$homenew1[6]\",\"$homenew1[7]\",\"$homenew1[8]\",\"$homenew1[9]\");\n";
$content .=" var slidespeed=5000\n";
$content .=" var imageholder=new Array()\n";
$content .=" var ie55=window.createPopup\n";
$content .=" for (i=0;i < slideimages.length;i++) {\n";
$content .=" imageholder[i]=new Image()\n";
$content .=" imageholder[i].src=decodeURIComponent(slideimages[i]);}\n";
$content .=" function gotoshow() {\n";
$content .=" window.location=decodeURIComponent(slidelinks[whichlink]);}\n";
$content .=" //-->\n";
$content .=" </script>\n";
$content .=" <div id=\"slidehome\">\n";
$content .=" <script language=\"JavaScript\">\n";
$content .=" <!--\n";
$content .=" var whichlink=0\n";
$content .=" var slidewidth = 170 \n"; // Dieu chinh chieu rong
$content .=" var slideheight = 145 \n"; // Dieu chinh chieu cao
$content .=" document.write('<div id=\"slidehome_title\"><div style=\"padding-top: 5px; margin-top: 5px; padding-bottom: 5px; margin-bottom: 5px; width:' + slidewidth + 'px;\"><a class=\"tieude_vuaphai\" href=\"' + decodeURIComponent(slidelinks[0]) + '\" >' + decodeURIComponent(slidetitle[0]) + '</a></div></div>');\n";
$content .=" document.write('<div style=\"margin: 0px; width:' + slidewidth + 'px;height:' + slideheight + 'px; border: 1px solid #FFFFFF\"><img width=\"' + slidewidth + '\" height=\"' + slideheight + '\" alt=\"' + decodeURIComponent(slidehometext[0]) + '\" onclick=\"gotoshow();\" src=\"' + imageholder[0].src + '\" name=\"slide\" border=\"0\" style=\"cursor: pointer;filter:progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=15,Duration=1)\" /></div>');\n";
$content .=" document.write('<div id=\"slidehome_text\"><div style=\"padding-top: 5px; margin-top: 5px; padding-bottom: 5px; margin-bottom: 5px; width:' + slidewidth + 'px;\"><a class=\"tieudiem\" href=\"' + decodeURIComponent(slidelinks[0]) + '\" >' + decodeURIComponent(slidehometext[0]) + '</a></div></div>');\n";
$content .=" var whichimage=0\n";
$content .=" var pixeldelay=(ie55)? document.images.slide.filters[0].duration*3000 : 0\n";
$content .=" function slideit() {\n";
$content .=" if (!document.images) return\n";
$content .=" if (ie55) document.images.slide.filters[0].apply();\n";
$content .=" document.images.slide.src=imageholder[whichimage].src\n";
$content .=" document.images.slide.alt=decodeURIComponent(slidehometext[whichimage])\n";
$content .=" document.images.slide.width=slidewidth\n";
$content .=" document.images.slide.height=slideheight\n";
$content .=" document.getElementById('slidehome_title').innerHTML= '<div style=\"padding-top: 2px; margin-top: 3px; padding-bottom: 2px; margin-bottom: 3px; width:' + slidewidth + 'px;\"><a class=\"tieude_vuaphai\" href=\"' + decodeURIComponent(slidelinks[whichimage]) + '\">' + decodeURIComponent(slidetitle[whichimage]) + '</a></div>';\n";
$content .=" document.getElementById('slidehome_text').innerHTML= '<div style=\"padding-top: 2px; margin-top: 3px; padding-bottom: 2px; margin-bottom: 3px; width:' + slidewidth + 'px;\"><a class=\"tieudiem\" href=\"' + decodeURIComponent(slidelinks[whichimage]) + '\">' + decodeURIComponent(slidehometext[whichimage]) + '</a></div>';\n";
$content .=" if (ie55) document.images.slide.filters[0].play()\n";
$content .=" whichlink=whichimage\n";
$content .=" whichimage=(whichimage < slideimages.length-1) ? whichimage+1 : 0\n";
$content .=" setTimeout(\"slideit()\",slidespeed+pixeldelay)}\n";
$content .=" slideit();\n";
$content .=" //-->\n";
$content .=" </script>\n";
$content .=" </div></center>\n";

?>
#62669 gửi bởi xman
Ngày 23 Tháng 08 2010 , 13:56
block của bạn đây:
Mã: Chọn hết
<?php
global $global_config, $prefix, $db, $lang_global, $site_mods, $module_file;

$catid = 1; # cat id
$striptext = 100;
############### Het phan khai bao ##########################


$sql = "SELECT id, title, alias, hometext, homeimgfile FROM `" . NV_PREFIXLANG . "_news_" . $catid . "` WHERE homeimgfile!='' AND `status`= 1 AND `publtime` < " . NV_CURRENTTIME . " AND (`exptime`=0 OR `exptime`>" . NV_CURRENTTIME . ") ORDER BY `publtime` DESC LIMIT 9";
$result = $db->sql_query ( $sql );
$title = $imglink = $link = $homenew1 = array ();
while ( list ( $id, $title [], $alias, $hometext, $homeimgfile ) = $db->sql_fetchrow ( $result ) ) {
list ( $catalias ) = $db->sql_fetchrow ( $db->sql_query ( "SELECT alias FROM `" . NV_PREFIXLANG . "_news_cat` WHERE catid=" . $catid . "" ) );
$hometext = strip_tags ( $hometext );
$homenew1 [] = nv_clean60 ( $hometext, $striptext );
$link [] = NV_BASE_SITEURL . "?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=news&amp;" . NV_OP_VARIABLE . "=" . $catalias . "/" . $alias . "-" . $id;
$homeimgfile = explode ( '|', $homeimgfile );
$imglink [] = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/news/' . $homeimgfile [0];
}
$num = count ( $link );
$content = "";
$content .= " <center><script type=\"text/javascript\" language=\"JavaScript\">\n";
$content .= " <!--\n";
$content .= " var slideimages = new Array(";
for($i = 0; $i < $num; $i ++) {
$content .= ($i < $num - 1) ? "\"$imglink[$i]\"," : "\"$imglink[$i]\"";
}
$content .= ");\n";
$content .= " var slidelinks = new Array(";
for($i = 0; $i < $num; $i ++) {
$content .= ($i < $num - 1) ? "\"$link[$i]\"," : "\"$link[$i]\"";
}
$content .= ");\n";
$content .= " var slidetitle = new Array(";
for($i = 0; $i < $num; $i ++) {
$content .= ($i < $num - 1) ? "\"$title[$i]\"," : "\"$title[$i]\"";
}
$content .= ");\n";
$content .= " var slidehometext = new Array(";
for($i = 0; $i < $num; $i ++) {
$content .= ($i < $num - 1) ? "\"$homenew1[$i]\"," : "\"$homenew1[$i]\"";
}
$content .= ");\n";
$content .= " var slidespeed=5000\n";
$content .= " var imageholder=new Array()\n";
$content .= " var ie55=window.createPopup\n";
$content .= " for (i=0;i < slideimages.length;i++) {\n";
$content .= " imageholder[i]=new Image()\n";
$content .= " imageholder[i].src=decodeURIComponent(slideimages[i]);}\n";
$content .= " function gotoshow() {\n";
$content .= " window.location=decodeURIComponent(slidelinks[whichlink]);}\n";
$content .= " //-->\n";
$content .= " </script>\n";
$content .= " <div id=\"slidehome\">\n";
$content .= " <script language=\"JavaScript\">\n";
$content .= " <!--\n";
$content .= " var whichlink=0\n";
$content .= " var slidewidth = 170 \n"; // Dieu chinh chieu rong
$content .= " var slideheight = 145 \n"; // Dieu chinh chieu cao
$content .= " document.write('<div id=\"slidehome_title\"><div style=\"padding-top: 5px; margin-top: 5px; padding-bottom: 5px; margin-bottom: 5px; width:' + slidewidth + 'px;\"><a class=\"tieude_vuaphai\" href=\"' + decodeURIComponent(slidelinks[0]) + '\" >' + decodeURIComponent(slidetitle[0]) + '</a></div></div>');\n";
$content .= " document.write('<div style=\"margin: 0px; width:' + slidewidth + 'px;height:' + slideheight + 'px; border: 1px solid #FFFFFF\"><img width=\"' + slidewidth + '\" height=\"' + slideheight + '\" alt=\"' + decodeURIComponent(slidehometext[0]) + '\" onclick=\"gotoshow();\" src=\"' + imageholder[0].src + '\" name=\"slide\" border=\"0\" style=\"cursor: pointer;filter:progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=15,Duration=1)\" /></div>');\n";
$content .= " document.write('<div id=\"slidehome_text\"><div style=\"padding-top: 5px; margin-top: 5px; padding-bottom: 5px; margin-bottom: 5px; width:' + slidewidth + 'px;\"><a class=\"tieudiem\" href=\"' + decodeURIComponent(slidelinks[0]) + '\" >' + decodeURIComponent(slidehometext[0]) + '</a></div></div>');\n";
$content .= " var whichimage=0\n";
$content .= " var pixeldelay=(ie55)? document.images.slide.filters[0].duration*3000 : 0\n";
$content .= " function slideit() {\n";
$content .= " if (!document.images) return\n";
$content .= " if (ie55) document.images.slide.filters[0].apply();\n";
$content .= " document.images.slide.src=imageholder[whichimage].src\n";
$content .= " document.images.slide.alt=decodeURIComponent(slidehometext[whichimage])\n";
$content .= " document.images.slide.width=slidewidth\n";
$content .= " document.images.slide.height=slideheight\n";
$content .= " document.getElementById('slidehome_title').innerHTML= '<div style=\"padding-top: 2px; margin-top: 3px; padding-bottom: 2px; margin-bottom: 3px; width:' + slidewidth + 'px;\"><a class=\"tieude_vuaphai\" href=\"' + decodeURIComponent(slidelinks[whichimage]) + '\">' + decodeURIComponent(slidetitle[whichimage]) + '</a></div>';\n";
$content .= " document.getElementById('slidehome_text').innerHTML= '<div style=\"padding-top: 2px; margin-top: 3px; padding-bottom: 2px; margin-bottom: 3px; width:' + slidewidth + 'px;\"><a class=\"tieudiem\" href=\"' + decodeURIComponent(slidelinks[whichimage]) + '\">' + decodeURIComponent(slidehometext[whichimage]) + '</a></div>';\n";
$content .= " if (ie55) document.images.slide.filters[0].play()\n";
$content .= " whichlink=whichimage\n";
$content .= " whichimage=(whichimage < slideimages.length-1) ? whichimage+1 : 0\n";
$content .= " setTimeout(\"slideit()\",slidespeed+pixeldelay)}\n";
$content .= " slideit();\n";
$content .= " //-->\n";
$content .= " </script>\n";
$content .= " </div></center>\n";

?>


http://www.thamtunamviet.com - Dịch vụ thám tử tư Việt Nam http://www.thegioimanguon.com - Thế giới mã nguồn
#62760 gửi bởi xman
Ngày 24 Tháng 08 2010 , 06:54
lethituyetmai đã viết:Cảm ơn anh XÌMAN nhiều. Block chạy tốt quá

ích men nhé, không phải xì man >.<

HoanDateh đã viết:Em định làm blocks xuất ra mà không dc. Bác nào pro giúp em cái.
Ý định của em là sau khi lấy các nhóm trong online_quanly, dựa vào các online_quanly đó sẽ đưa ra các thành viên trong online_quanly đó nhưng thuộc vào table online. Các bác giúp em với


up data + template lên đây, code viết sai tè le thế này bảo chạy được thì cũng gọi bằng thầy luôn :D

http://www.thamtunamviet.com - Dịch vụ thám tử tư Việt Nam http://www.thegioimanguon.com - Thế giới mã nguồn