Jump to content
IPSViet.com

Leaderboard


Popular Content

Showing content with the highest reputation since 12/15/2018 in all areas

  1. 66 points
    This is very simple chat system with the basic features: Ajax chat, auto update. Display as IPS widgets, so you can place it in sidebar or top page. Sound notification. User can toggle on/off. Admins/Moderators can block users. Users can ignore some chatters they don't want to see. Load more messages when scrolling end (or top). Announcement (on Top or Tab). Supports emoticons, URL, Image URL (gif, png, jpg) *NEW* Supports GUGGY to turn any text message into funny GIF and Sticker by using /guggy command (Eg: /guggy I love you) *NEW* Supports GIPHY to finds GIFs and Stickers by using /giphy command (Eg: /giphy happy new year) *NEW* Supports Youtube, playing video in iframe and popup @mention by clicking on usernames. Flood control. Bad word filters. Time format. Display newer messages in top or bottom. Permissions for viewing, chatting & management. Edit/Delete messages. Demo: [Hidden Content] DOWNLOAD [Hidden Content] (The latest version) (BIM43) Chatbox 3.1.3.zip
  2. 5 points
    Như đã hứa, làm cái stats nhỏ này tặng các bạn với các chức năng chính như sau: Hiển thị thống kê với 2 tab duy nhất: Bài viết mới nhất và Chủ đề mới nhất. Sử dụng ajax update (chế độ tự động hoặc manually tùy chỉnh). Sử dụng widget để hiển thị. DOWNLOAD: (BIM41) Forums Stats 1.1.2.zip
  3. 3 points
    Plugin nhỏ gọn tiện ích. Chức năng: Ẩn liên kết Ẩn code Ẩn nội dung trong thẻ hide DOWNLOAD: (BIM40) Hide link and code 1.0.0.zip
  4. 2 points
    IPS có sẵn chức năng Advertisement hỗ trợ thêm code quảng cáo một cách dễ dàng nhất. Bạn có thể tìm thấy chức năng này tại ACP -> System -> Site Promotion -> Advertisements. Rất dễ dàng, chỉ cần bấm nút +Create New và chọn loại quảng cáo từ hình ảnh upload hay code HTML. Nếu quảng cáo yêu cầu https thì bạn bật chức năng "Supply different code for secure pages?" Về vị trí của quảng cáo: Just below the page header: ở header Just above the page footer: dưới footer In the site sidebar: ở sidebar After the first topic in each forum: Sau topic đầu tiên trong mỗi forum After the first post in each topic: Sau bài viết đầu tiên trong mỗi chủ đề Define your own locations: Tùy chọn vị trí Từ 1 đến 5 là bạn biết rồi, còn phần tùy chọn để bạn có thể đưa quảng cáo vào những vị trí không nằm trong mục 1-5. Việc này cần edit template bit, nơi bạn cần đặt quảng cáo, chèn code này vào template bit với KEY tùy chọn: {advertisement="KEY"} Sau đó ở phần tạo quảng cáo, bạn chọn Define your own locations và đưa cái KEY ở bên trên vào. Ngoài ra, bạn còn có thể phân quyền cho nhóm thành viên nào "bị" xem quảng cáo ở mục Shows to. Bên dưới là Start date và Show until để định thời gian bắt đầu và kết thúc quảng cáo. Maximum number of impressions để xác định một số lượng impressions sau khi quảng cáo đạt đủ sẽ ko hiển thị nữa. Bạn có thể tạo nhiều quảng cáo trên website của bạn. Ở ngoài danh sách Advertisements bạn có thể xem sơ lượt về các quảng cáo trên site của bạn như impressions, số click, dễ dàng enable/disable, xóa, chỉnh sửa một quảng cáo... Đối với nhiều quảng cáo cùng một vị trí thì cách hiển thị sao? Bạn có thể chỉnh bằng cách click nút màu xanh Advertisement Settings ở trên cùng, có thể chỉnh quảng cáo hiển thị random, quảng cáo ít impressions, quảng cáo mới nhất, cũ nhất tùy bạn.
  5. 2 points
    Trước mình dùng cái này làm trang demo cho mấy cái mod bán bên IPS, vừa nâng cấp lên cho 4.0 sẵn chia sẽ cho ai cần. App bé nhỏ có chức năng tạo trang, dùng code HTML và PHP cho nội dung. Hỗ trợ meta keywords và description. URL thân thiện và xinh xắn dạng: [Hidden Content] DOWNLOAD: (BIM40) Simple Pages 1.0.2.zip (BIM40) Simple Pages 1.0.1.zip (BIM40) Simple Pages 1.0.0.zip
  6. 2 points
    URL không dấu tiếng việt cho IPS4.0, hook vô core nên tác dụng với tất cả app. Cài đặt: Vào ACP > System > Plugins > Bấm nút "Install" và chọn file xml vừa unzip ở file tải về bên dưới, bấm nút Install Sử dụng: Admin CP > Plugins > (BIM40) NonUnicode URL > Bấm nút hình cây viết chì bên tay phải để bật plugin này. (Phiên bản 1.0.1 trở đi thì import vào là xài ko cần phải thiết lập gì cả) (BIM41) NonUnicode URL 1.0.1.zip (cho IPS từ 4.1.14 trở lên) (BIM40) NonUnicode URL 1.0.0.zip (cho IPS 4 phiên bản thấp hơn 4.1.14)
  7. 2 points
    Plugin hiển thị facebook fanpage dạng trượt khi rê chuột vào, có thể chỉnh vị trí trái/phải, import vào xài ngay ko cần upload css, js hay image gì cả Live Demo: [Hidden Content] DOWNLOAD: (BIM40) Sliding Facebook Fanpage 1.0.2.zip (IPSViet) Sliding Facebook Fanpage 1.0.1.zip
  8. 2 points
    Bài viết này sẽ hướng dẫn chi tiết và liệt kê các phương thức để đăng nhập IPS. Bạn có thể dễ dàng đăng nhập IPS bằng các dịch vụ mạng xã hội: Facebook, Google, Twitter, ... hoặc liên kết nhiều site IPS với nhau. Toàn bộ chức năng đăng nhập được liệt kê vào một trang System -> Settings -> Login Handlers Login Settings: Bạn có thể cài đặt khóa tài khoản sau bao nhiêu lần nhập pass sai, sử dụng https login và login ẩn danh. Facebook: IPS kết nối với Facebook tiện cho việc đăng nhập của người dùng, có thể đồng bộ photo, status giữa IPS và Facebook. Cách cài đặt như sau: Bước 1: Tạo Application Facebook Vào [Hidden Content] Set the URL: Đến tab Settings và click Add Platform. Chọn Website. Nhập URL của bạn vào Site URL và lưu lại. Nhập Contact Email và lưu. Set other details: Click vào tab App Details. Nhập vào mô tả trang web của bạn tại mục Long Description. Đường dẫn đến Privacy Policy URL. Ví dụ: [Hidden Content] Nhập email của bạn vào User Support Email. Upload một logo tại App Icon với kích thước 1024x1024px Save lại Permission: Click vào tab Status & Review chọn YES ở Do you want to make this app and all its live features available to the general public? Click Start A Submission Tìm đến user_status và click Add Items Click "Add Notes" và giải thích cho facebook hiểu mục đích sử dụng cái user_status làm gì. Bạn có thể copy thế này vào: Using the user_status to sync user statuses between Facebook and website. Xong chụp 4 cái hình có chức năng Facebook và status của thành viên up lên. Xong click "Submit for Review" Bước 2: cấu hình IPS Vào ACP > System > Settings > Login Handlers. Click nút Edit ở Facebook Nhập vào App ID và App Serect của application bạn đã tạo ở bước 1 Twitter: Cũng như Facebook, IPS đồng bộ với Twitter giúp người dùng dễ đăng nhập hơn. Bước 1: Tạo app Twitter Vào [Hidden Content]. Nhập địa chỉ web của bạn ở mục Website và Callback URL Sau đó: Vào tab Settings và chọn Allow this application to be used to Sign in with Twitter . Save Vào tab Permissions đổi Access là Read and Write và Save Đến tab API Keys sẽ thấy API key và API secret. Bước 2: cấu hình IPS Vào ACP > System > Settings > Login Handlers. Click nút Edit ở Twitter Nhập vào App ID và App Serect của application bạn đã tạo ở bước 1. Google Login: Bước 1: Tạo Project Vào [Hidden Content] Vào APIs & Auth > APIs bật ON cho Google+ API. Tiếp tục vào APIs & Auth > Credentials và click chọn Create new Client ID. Application Type chọn Web Application. Authorized Javascript Origins nhập vào URL. Ví dụ bạn cài IPS ở domain "[Hidden Content]" thì bạn chỉ cần nhập vào "[Hidden Content]". Authorized Redirect URI nhập vào URL tại chỗ URLs. Ví dụ: [Hidden Content]/applications/core/interface/google/auth.php Save lại, bạn sẽ nhận được Client ID và Client Secret. Bước 2: cấu hình IPS Vào ACP > System > Settings > Login Handlers. Click nút Edit ở Google Nhập vào Client ID và Client Serect đã tạo ở bước 1. Microsoft Login: Bước 1: Tạo Application Vào [Hidden Content]. Tìm đến API Settings, ở chỗ Redirect URLs nhập URL tương tự thế này: [Hidden Content]/applications/core/interface/microsoft/auth.php Đến App Settings sẽ thấy Client ID và Client Secret. Bước 2: cấu hình IPS Vào ACP > System > Settings > Login Handlers. Click nút Edit ở Google Nhập vào Client ID và Client Serect đã tạo ở bước 1. LinkedIn Login: Bước 1: Tạo Application Vào trang [Hidden Content]. Tại OAuth 2.0 Redirect URLs chỉ cần nhập vào URL tương tự như vậy: [Hidden Content]/applications/core/interface/linkedin/auth.php Sau khi tạo xong app bạn sẽ có API Key và Secret Key. Bước 2: cấu hình IPS Vào ACP > System > Settings > Login Handlers. Click nút Edit ở LinkedIn. Nhập vào API Key và API Secret của application bạn đã tạo ở bước 1 IPS Connect: Bạn có thể đăng nhập bằng tài khoản ở 1 site IPS khác. Ví dụ mình có site A và B, bây giờ sẽ dùng site A làm master, bạn chỉ cần chú ý ở trang Login Handler có hiển thị Master IPS Connect URL và Master IPS Connect Key. Bạn chỉ cần edit IPS Connect của site B, và điền vào Master IPS Connect URL và Master IPS Connect Key của site A thế là xong. Từ giờ thành viên 2 site có thể đăng nhập qua lại rất tiện lợi. Có thể nói IPS tích hợp với xu hướng mạng xã hội rất tốt, tạo cho người dùng dễ dàng kết nối với website, như vậy cũng thu hút thành viên hơn. Qutuyệt vời!
  9. 1 point
    Plugin nhỏ gọn, hiển thị nút mũi tên ở góc dưới bên phải giống ở ipsviet.com , dễ dàng click và nhảy lên đầu trang Settings của nó cũng đơn giản với nút bật/tắt và chọn màu sắc. DOWNLOAD: (IPSViet) Scroll to top 1.0.0.zip
  10. 1 point
    Để IPS hoạt động mượt hơn, bạn cần biết những cài đặt cơ bản sau: Sử dụng cronjob để run task Task là những công việc tự động được định thời gian để chạy âm thầm (Background Processes) như: bulkmail, rss import, delete dữ liệu tạm, kiểm tra phiên bản... Tùy theo mỗi application được cài đặt sẽ có thể có thêm nhiều task khác nhau. Như vậy bạn hình dung một ngày nào đó website của bạn phát triển mạnh, dữ liệu nhiều, số app và plugins bạn dùng cũng nhiều thì quá trình run task này sẽ trở nên ì ạch. Cronjob sẽ giúp bạn giải quyết vấn đề đó. Để bật cronjob, vào ACP tìm "cronjob" sẽ thấy mục "Use a cron to run tasks?", chọn YES và bạn sẽ thấy xuất hiện 1 dòng lệnh /usr/bin/php -d memory_limit=-1 -d max_execution_time=0 /bim/ipsviet/public_html/applications/core/interface/task/task.php d6e357a19ef6099931b9f114833a933a Vào Cpanel hay control panel nào khác mà bạn dùng quản lý host để tạo một cronjob với dòng lệnh bên trên, thời gian chạy every minute Tiếp theo bạn cần chmod 777 cho file /bim/ipsviet/public_html/applications/core/interface/task/task.php sau đó mới có thể bấm nút Save để lưu lại cài đặt. Sử dụng Memcached IPS có hỗ trợ Xcache, ACP, Wincache, eAccelerator, Redis, Memcached. Nhưng theo họ Memcached là tốt nhất cho IPS. Nhưng ko phải host nào cũng hỗ trợ, nếu bạn có vps thì tự cài vào. Để bật cache, vào ACP -> Advanced Configuration -> Data storage Data Storage Method: Nếu host của bạn có hỗ trợ một trong các loại cache nêu trên thì hãy ưu tiên chọn MySQL Database, còn nếu host không hỗ trợ cache gì cả hoặc bạn không muốn sử dụng thì chọn File System Caching Method: chọn cache mà host hỗ trợ, memcached thì yêu cầu thêm server, ví dụ 12.133.133.100:11211 Cache page output for guests: để 180 Bấm Save, bạn sẽ được cung cấp cho một file constants.php, download nó về và up lên ngang hàng với index.php xong bấm Save lần nữa. Sử dụng Sphinx Search Sphinx hỗ trợ tìm kiếm tốt hơn cho website của bạn, tuy nhiên hosting thì ko hỗ trợ, nếu bạn có VPS thì tự cài đặt sphinx và vào ACP -> System -> Search để bật nó lên. Sắp tới mình sẽ áp dụng cho IPSViet và sẽ có bài hướng dẫn chi tiết. Cập nhật: Từ bản 4.1, chức năng này đã bị xóa. Sử dụng Amazon S3 cho file upload Amazon Simple Storage Service (Amazon S3) là vùng lưu trữ trên Internet. Dùng Amazon S3 để lưu trữ và truy xuất bất kỳ dữ liệu tại bất kỳ thời điểm nào, từ bất cứ nơi đâu trên web. Và rất tuyệt vời khi IPS có tích hợp sẵn chức năng này. Việc bạn cần làm là đăng ký tài khoản Amazon S3, giá có thể tham khảo ở đây [Hidden Content] Bạn có thể đăng ký dùng thử miễn phí 1 năm [Hidden Content] Sau đó tạo một bucket, tiếp tục truy cập vào [Hidden Content] để lấy Access Key và Serect Key. Cuối cùng là vào ACP -> System -> Files -> Storage Settings -> Configurations -> Bấm Creat new -> Chọn Amazon S3 -> nhập vào tên bucket vừa tạo, Access Key và Serect Key. Bây giờ ở Storage Settings bạn có thể chọn loại file bạn muốn chuyển qua Amazon S3, bấm Save và đợi, IPS tự chạy background processes để di chuyển file cho bạn. Cache cho template Ở IPS 4.1.18 trở lên có thêm 1 tùy chọn mới tại Advanced Configuration > Enable template disk caching? . Khi bật tùy chọn này thì IPS sẽ tự động cache cho các template bit để tối ưu hóa thời gian xử lý cũng như bộ nhớ. Tùy chọn này càng hiệu quả rõ rệt hơn với những server dùng SSD. Kết Trên đó là những thiết lập có sẵn của IPS để tối ưu hóa hiệu suất hoạt động, tuy nhiên còn phụ thuộc rất nhiều vào hosting của bạn. Nếu có thể bạn hãy chọn Nginx + MariaDB thay vì Apache và MySQL để cho hiệu suất tốt hơn. IPSViet đang chạy trên Nginx + MariaDB mà ko gặp bất kỳ vấn đề nào. Thêm nữa, bạn Không nên cài quá nhiều applications hay plugins không cần thiết, màu mè, hãy sử dụng đúng mục đích và đúng cái bạn cần, những app hay plugin nào ko xài cứ thẳng tay xóa nó. Bạn nào có kinh nghiệm khác thì cùng chia sẽ ở topic này nhé.
  11. 1 point
    IPS4 tự động hiệu chỉnh các giá trị cookie phù hợp cho website của bạn một cách hiệu quả và an toàn. Đối với đa số người dùng, các giá trị mặc định đã hoạt động rất tốt và không cần phải điều chỉnh gì thêm. Cho nên vì lý do đó mà bạn sẽ không tìm thấy các cài đặt cookie ở ACP như bản 3.x. Tuy nhiên cũng có trường hợp các tùy chọn mặc định sẽ không phù hợp với website của bạn (có thể là do bạn tích hợp login với web khác, hoặc đổi host bị lỗi cookie,...), bạn sẽ cần phải cài đặt lại cookie cho phù hợp với nhu cầu của bạn. Để làm việc đó, tạo file constants.php ngang hàng với conf_global.php với nội dung sau <?php define( 'COOKIE_DOMAIN', '.example.com' ); define( 'COOKIE_PREFIX', 'prefix_' ); define( 'COOKIE_PATH', '/' ); define( 'COOKIE_BYPASS_SSLONLY', FALSE ); Tất nhiên bạn phải thiết lập các giá trị đó cho phù hợp.
  12. 1 point
    TEMPLATE LOGIC Nói về cách lập trình trong template ở các bản 3.x, mình rất ghét mỗi khi dùng if mà có nhiều else, template cho front end thì dùng dạng <if test="$var"> HTML to display </if> Còn có else thì nó chỉ hỗ trợ một else, thêm cái else nữa nó báo lỗi. <if test="$var"> HTML to display <else /> HTML to display </if> Cho nên mỗi khi mà else nhiều quá thì phải quăng hẳn nó vào một cái <php> sau đó mới đưa giá trị xuống. Còn nói về template cho ACP còn khủng khiếp hơn, phải dùng thêm tùm lum các thứ để nó hiểu là code PHP như $IPBHTML = ""; $IPBHTML .= <<<EOF HTML to display EOF; Qua 4.0 thì cảnh đó đã được giải thoát, cách lập trình template của IPS 4.0 đã đổi mới hoàn toàn. Mỗi template bit được viết trong 1 file *.phtml để có thể dễ dàng chỉnh sửa trong Dev Mode hoặc Designer Mode. Theo cá nhân mình thì cấu trúc của nó dễ nhìn hơn, giúp dễ dàng viết code PHP hơn cho template. Ví dụ câu lệnh if {{if $var}} HTML to display {{endif}} {{if $foo}} HTML to display {{elseif $bar}} HTML to display {{elseif $baz}} HTML to display {{else}} HTML to display {{endif}} Câu lệnh foreach {{foreach $foo as $bar}} HTML to display {{endforeach}} Hỗ trợ một vài shorcuts (viết tắt của một số giá trị thông dụng thường dùng) request.var viết tắt của IPSRequest::i()->var member.var viết tắt của IPSMember::loggedIn()->var settings.var viết tắt của IPSSettings::i()->var theme.var viết tắt của IPSTheme::i()->settings['var'] cookie.var viết tắt của IPSRequest::i()->cookie['var'] Ví dụ thay vì viết full code {{if IPSMember::loggedIn()->member_id}} HTML to display {{endif}} Bạn có thể viết tắt {{if member.member_id}} HTML to display {{endif}} Nhìn vô cùng dễ thương phải ko? Còn raw PHP thì dùng {{$foo = array();}} TEMPLATE TAGS Để viết template tốt hơn, bạn cũng cần nắm rõ các tags, một vài tag bạn còn có thể dùng được trong CSS rất tiện lợi. Một template tag có dạng {tag="value"} Nếu có thêm option thì {tag="value" option="option_value" other_option="other_value"} Language Strings {lang="key"} Dùng hiển thị giá trị của ngôn ngữ. Options: sprintf dùng như [Hidden Content]. pluralize chỉ dùng khi một chuỗi sử dụng pluralizing logic wordbreak thêm cái <wbr> vào. Dates & Times {date="699753360"} Dùng định dạng thời gian. Có thể dùng chung với HTML5 <time> Options: norelative hiển thị ngày tháng theo địa phương. Chỉ cần đặt nó norelative="true". dateonly chỉ hiển thị ngày Member Data {member="name"} Hiển thị thông tin của thành viên (đã đăng nhập). Options: group trả về giá trị từ thông tin group của thành viên. Ví dụ IPSMember::loggedIn()->group[ $key ] - Để dùng nó chỉ cần đặt group="true". id dùng nó với các thành viên với ID chỉ định, không phải là ID của thành viên đăng nhập. raw đặt nó là raw="true" để chặn các lỗ hỏng XSS (rất ít dùng) Settings {setting="board_name"} Trả về giá trị của setting Theme Settings {theme="selected"} Giá trị setting của theme URLs (có thể dùng trong file CSS) {url="app=core&module=system&controller=login"} Options: seoTemplate giá trị dùng trong FURL Template seoTitle title sử dụng cho Friendly URL csrf nếu bật csrf="true" sẽ add key csrf vào url fragment thêm #fragment vào cuối URL noprotocol set noprotocol="true" sẽ trả về một URL không protocol plain đưa về text gốc của URL không có các ký tự HTML mã hóa. Thường dùng cho plaintext email. Chỉ cần đặt plain="true" Numbers {number="1000"} Định dạng số dựa vào locale của user, ví dụ trên locale Việt Nam sẽ cho ra 1,000 File Size {filesize="1000000"} Định dạng dung lượng file. Ví dụ trên sẽ cho ra 1MB Options: decimal sử dụng decimal (1000 bytes = 1kB) thay vì binary (1024 bytes = 1kB). CSS Prefixes (Có thể dùng trong file CSS) {prefix="transition" value="0.1s all linear"} Thay vì dùng "-webkit-", "-moz-", "-ms-" and "-o-" cho transition, bạn chỉ cần dùng 1 dòng trên là đủ. Template {template="userPhoto" group="global" app="core" params="$entry->author(), 'small'"} Đưa vào một template khác. Tất cả các option như trên là bắt buộc. Images (có thể dùng trong CSS) {resource="image.png" app="core" location="front"} Đưa về URL của file hình ảnh. Expression (có thể dùng trong CSS) {expression="1+1"} Thực hiện như PHP để trả về một giá trị. Option: raw đặt raw="true" để chặn các lỗ hỏng XSS. Wordbreak (có thể dùng trong CSS) {wordbreak="This is some very long text..."} Thêm vào <wbr> nếu nội dung quá dài để tránh việc bị giãn layout. Truncate (có thể dùng trong CSS) {truncate="Some very long text..." length="10"} Cắt bớt text theo độ dài định sẵn. Advertisements {advertisement="location"} Hiển thị quảng cáo Xong rồi, bài viết này đã mêu tả chi tiết về một template và liệt kê các template tags, là một admin của một site dùng IPS bạn không thể không biết những điều này, nó sẽ giúp ích rất nhiều cho bạn trong việc thiết kế theme, hay lập trình các plugins, apps về sau.
  13. 1 point
  14. 1 point
    Plugin nhỏ hiển thị widget chuyển đổi đơn vị tiền tệ. DOWNLOAD (BIM40) Currency Converter 1.0.1.zip
  15. 1 point
    Ok, I've missed something, it works. This does not work with this feature: Text reduction in the portal! There will be displayed while the text as hidden but it lacks the graphic to ?? Background to the text. Me: Yours: Any Idea??
  16. 1 point
    ​I will add an option to change the height. But you can do it right now by editting template bit. Go to ACP -> Customization -> click </> to edit your theme -> bimchatbox -> front -> chat -> main. You can change the height in this code <div id='chatboxWrap' style='height: 300px; overflow-y: scroll;'> Save ​I confirm this bug, will fix in the next version.
  17. 1 point
    tớ dùng APC -> hỗ trợ cms luôn như cái cms này ( test) [Hidden Content] <- bật cache lên nó chạy ngon vãi
  18. 1 point
    it has to do with the iframe to facebook. when you are using a (extended validation) SSL, this SSL will break. The url is a example, this is not your plugin, but it's the same idea. You can see that SSL is on: [Hidden Content] But when you go to the registration page: [Hidden Content] it will break. same for the login page: [Hidden Content] i know this is version 3 and not the same plugin. but the principle are the same. we like to fix these things before upgrading.
  19. 1 point
    ​Hello, I think They customize from IPS soure, not only app
  20. 1 point
    Đã lâu lắm mới quay lại IPB, HMT cũng chuyển qua IPB, cũng xin có 1 đóng góp nhỏ với cộng đồng IPB, cái này mình chuyển từ VBB sang. BBcode này thay thế cho tất cả các bbcode của mọi người đang xài, hỗ trợ chèn logo vào file video luôn, đáng để dùng đấy chứ! XEM THỬ DEMO Bạn cần làm như sau: Download đính kèm về và giải nén sau đó mở file: player/config.xml <config> <repeat>true</repeat> <volume>70</volume> <skin>[Hidden Content]; <logo.file>[Hidden Content]; <logo.link>[Hidden Content]; <logo.linktarget>_blank</logo.linktarget> <logo.position>top-right</logo.position> <logo.margin>8</logo.margin> <logo.hide>false</logo.hide> <plugins>[Hidden Content]; </config> Thay [Hidden Content] thành đường dẫn site của bạn! [Hidden Content].../skins/aero.zip File zip đến skin của trình play [Hidden Content]...yer/logohmt.png logo bạn muốn chèn vào video Mở file BBcode.xml sửa <?xml version="1.0" encoding="utf-8"?> <bbcodeexport> <bbcodegroup> <bbcode> <bbcode_id>35</bbcode_id> <bbcode_title>Music / Video </bbcode_title> <bbcode_desc>Post tất cả các loại nhạc</bbcode_desc> <bbcode_tag>hmtmedia</bbcode_tag> <bbcode_replace><![CDATA[<center><object id="flashplayer" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="305" height="200"><param name="movie" value="[Hidden Content]/player/player.swf"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="FlashVars" value="config=[Hidden Content]/player/config.xml&proxy.link={content}"><embed name="flashplayer" src="[Hidden Content]/player/player.swf" flashvars="config=[Hidden Content]/player/config.xml&proxy.link={content}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="610" height="400"></object></center>]]></bbcode_replace> <bbcode_useoption>0</bbcode_useoption> <bbcode_example><![CDATA[[hmtmedia]Link nhạc[/hmtmedia]]]></bbcode_example> <bbcode_switch_option>0</bbcode_switch_option> <bbcode_menu_option_text/> <bbcode_menu_content_text>Nhập link nhạc vào đây</bbcode_menu_content_text> <bbcode_single_tag>0</bbcode_single_tag> <bbcode_groups>all,4,9,1,8,2,6,7,3,5</bbcode_groups> <bbcode_sections>topics</bbcode_sections> <bbcode_php_plugin/> <bbcode_no_parsing>0</bbcode_no_parsing> <bbcode_protected>0</bbcode_protected> <bbcode_aliases/> <bbcode_optional_option>0</bbcode_optional_option> <bbcode_image>media.gif</bbcode_image> <bbcode_app>core</bbcode_app> <bbcode_custom_regex/> </bbcode> </bbcodegroup> </bbcodeexport> Thay [Hidden Content] thành đường dẫn site của bạn! Bước 2: Download plugins hỗ trợ tại đây : [Hidden Content] Giải nén và đưa vào thư mục playerplugins Mở file pluginslist.xml và thêm vào plugin site bạn muốn thêm Save và upload lên ngang hàng forum index nhé! Bước 3: Vào ACP > Look & Feel > Post Content > BBCode Managementi Import New BBCodes Chọn file BBcode rồi nhấn Import là xong! Have fun! [Hidden Content]...at-shared-site/ DOWNLOAD: BBcode Play All Music Video.zip
  21. 1 point
    Trong tut này mình xin hướng dẫn các bạn trang trí số thống kế bài viết + chủ đề bên cạnh tên các box. Mục đích chính là để trang trí thêm thôi. Mình thấy tut này cũng khá ít nơi share nên share lên ipsviet cho mọi người dễ tìm Trước hết là demo: Bắt đầu nhé: 1. Đăng nhập vào ACP > Looks and Feel > Skin của bạn > Board Index > boardIndexTemplate: 2. Tìm: <td class='col_c_stats ipsType_small'> <ul> <li> <strong>{$forum_data['topics']}</strong> {$this->lang->words['topics']} </li> <li> <strong>{$forum_data['posts']}</strong> {$this->lang->words['replies']} </li> </ul> </td> Thay bằng: <td style='width: 7%;'> <span class='statsNumber'>{$forum_data['topics']}</span> <span class='statsText'>{$this->lang->words['topics']}</span> </td> <td style='width: 7%;'> <span class='statsNumber'>{$forum_data['posts']}</span> <span class='statsText'>{$this->lang->words['replies']}</span> </td> 3. Mở ipb_styles và thêm đoạn code này vào dưới cùng: .statsNumber, .statsText { display: block; text-align: center; color: #acacac; line-height: 23px; text-transform: uppercase; font-size: 16px; } .statsText { color: #d5d5d5; font-size: 11px; } Xong
  22. 1 point
    Dành cho các bạn nào đang xài ipb 3.4.3 mà nâng cấp lên 3.4.4 nhưng skin chưa hỗ trợ, bạn theo hướng dẫn này để chỉnh sửa cho phù hợp mà ko cần phải chờ skin update. (màu đỏ là xóa đi, màu xanh là thêm vào) ipb_template_diff_343_344.zip
  23. 1 point
    IPB vừa cho ra bản 3.4.3 sửa khá lỗi . Và có thay đổi chút trong phần giao diện. Bạn nào dùng skin hỗ trợ 3.4.2 mà ko muốn phải đợi skin upgrade thì có thể tự thay đổi theo hướng dẫn: diff-ipboard-342-343.zip
  24. 1 point
    Breadcrum mặc định của IPB khá là sơ xài, tut này hướng dẫn các bạn trang trí lại thanh breadcrum cho nó có hồn hơn. (Mình làm trên IPB 3.3, mấy bản khác mình chưa thử, nhưng chắc cũng tương tự) Demo: Đầu tiên vào ACP -> Look & Feel -> chọn skin -> Global Template -> globalTemplate Tìm: <if test="count( $items['navigation'] )"> <div id='secondary_navigation' class='clearfix'> <ol class='breadcrumb top ipsList_inline left'> <php>$this->did_first = 0;</php> <if test="switchnavigation:|:!$this->settings['remove_forums_nav'] OR ipsRegistry::$current_application == 'forums'"> <li itemscope itemtype="[Hidden Content]; <a href='{parse url="act=idx" seotitle="false" base="public"}' itemprop="url"> <span itemprop="title">{$this->settings['board_name']}</span> </a> </li> <if test="didfirstnav:|:$this->did_first=1"></if> </if> <foreach loop="navigation:$items['navigation'] as $idx => $data"> <li itemscope itemtype="[Hidden Content]; <if test="didfirstappnow:|:$this->did_first"><span class='nav_sep'>{parse replacement="f_nav_sep"}</span></if> <if test="navigationlink:|:$data[1]"><a href='{parse url="{$data[1]}" base="$data[4]" seotitle="$data[2]" template="$data[3]"}' title='{$this->lang->words['nav_return_to']} {$data[0]}' itemprop="url"></if><span itemprop="title">{$data[0]}</span><if test="closenavigationlink:|:$data[1]"></a></if> </li> <if test="forsuredidfirstnav:|:$this->did_first=1"></if> </foreach> </ol> </div> <br /> </if> Thay bằng: <div id='seconNav' class='clearfix'> <ol class='breadcrumb top ipsList_inline left' id='breadcrumb'> <php>$this->did_first = 0;</php> <if test="!$this->settings['remove_forums_nav'] OR ipsRegistry::$current_application == 'forums'"> <li itemscope itemtype="[Hidden Content]" <if test="!$this->did_first">class='first'</if>> <a href='{parse url="act=idx" seotitle="false" base="public"}' itemprop="url"> <span itemprop="title">Diễn đàn</span> </a> </li> <if test="didfirstnav:|:$this->did_first=1"></if> </if> <foreach loop="navigation:$items['navigation'] as $idx => $data"> <li itemscope itemtype="[Hidden Content]" <if test="!$this->did_first">class='first'</if>> <if test="navigationlink:|:$data[1]"><a href='{parse url="{$data[1]}" base="$data[4]" seotitle="$data[2]" template="$data[3]"}' title='{$this->lang->words['nav_return_to']} {$data[0]}' itemprop="url"></if><span itemprop="title">{$data[0]}</span><if test="closenavigationlink:|:$data[1]"></a></if> </li> <if test="forsuredidfirstnav:|:$this->did_first=1"></if> </foreach> </ol> </div> Bấm Save. Tiếp tục qua tab CSS -> ipb_styles.css tìm: .breadcrumb { color: #777; font-size: 11px; } .breadcrumb a { color: #777; } .breadcrumb li .nav_sep { margin: 0 5px 0 0; } .breadcrumb li:first-child{ margin-left: 0; } .breadcrumb.top { margin-bottom: 10px; } .breadcrumb.bottom { margin-top: 10px; width: 100% } Thay bằng: .breadcrumb { color: #777; font-size: 11px; } .breadcrumb a { color: #777; } .breadcrumb li .nav_sep { margin: 0 5px 0 0; } .breadcrumb li:first-child{ margin-left: 0; } /*.breadcrumb.top { margin-bottom: 10px; }*/ .breadcrumb.bottom { margin-top: 10px; width: 100%; display: none; } /****************************************/ /* Breadcrumbs */ /****************************************/ #seconNav{ background: #ebeff3 url('{style_images_url}/seconNav_bg.png') repeat-x; border: 1px solid #B1C6D6; border-radius: 4px; -moz-border-radius: 4px; color: #556571; line-height: 30px; margin-bottom: 15px; overflow: hidden; text-shadow: 0 0px 0 #fff; } #seconNav a{ color: #757575; line-height: 30px; height: 30px; } #seconNav a:hover{ color: #222; } #seconNav #breadcrumb li { float: left; } #seconNav #breadcrumb li a { margin-left: -23px; padding-left: 16px; background: url('{style_images_url}/seconNav.png') no-repeat 0 0; display: block; outline: none; text-decoration: none; } #seconNav #breadcrumb li.first a{ margin-left: 0; background: none; padding-left: 0px; } #seconNav #breadcrumb li span{ display: block; padding: 0 21px 0 4px; background: url('{style_images_url}/seconNav.png') no-repeat 100% 0; } #seconNav #breadcrumb li > span{ padding-left: 4px; background: none transparent; } #seconNav #breadcrumb li.first a span{ padding-left: 12px; -webkit-border-top-left-radius: 3px; -moz-border-radius: 3px 0px 0px 0px; border-radius: 3px 0px 0px 0px; } #seconNav #breadcrumb li a:hover{ background-position: 0 -30px; } #seconNav #breadcrumb li a:hover span{ background-position: 100% -30px; } #seconNav #breadcrumb li a:active{ background-position: 0 -86px; } #seconNav #breadcrumb li a:active span{ background-position: 100% -86px; } Save lại. Rồi download file sau breadcrum.zip Giải nén và chép 2 cái hình vào public/style_images/[tên thư mục hình ảnh của skin] Xong P/s Ủng hộ = cách nhớ bấm like nhé
  25. 1 point
    Demo: [Hidden Content] Cái này mình làm dựa trên skin mặc định của IPB thôi, ai thấy hay thì dùng nhé Download: [Hidden Content] pass: www.skynetvn.vn PS: Vì thấy Doremon có nói là Zuzu bị kêu ca về bản quyền nên ko post các bản null, skin nữa. Vì lý do này nên mình ko dám tự tiện post link download lên đây. Nếu Doremon thấy ok, thì up lên nhé :Z


×