[TUTs] Tạo tiền tố tự động theo tên chuyên mục khi gửi bài

  Bài viết hay nhất1
First topic message reminder :

Tạo tiền tố tự động theo tên chuyên mục khi gửi bài



Giới thiệu

Code này sẽ tự tạo thêm tiền tố(prefix) vào đầu tiêu đề khi bạn bắt đầu đăng bài mới, tiền tố này sẽ thay đổi tùy theo tên chuyên mục. Vì trong thống kê bài viết mới của forumotion không có thông tin chuyên mục, nên với cách này bạn sẽ có thể biết được điều đó.


Hướng dẫn


ACP >> Modules >> HTML & JAVASCRIPT >> Javascript codes management >> [TUTs] Tạo tiền tố tự động theo tên chuyên mục khi gửi bài - Page 3 AjouterCreate a new javascript

Title * : Tạo tiền tố tự động
Placement : In all the pages
Javascript Code * :
Code:
$(function() {
   var $forumId = $('input[name="f"]'),
      $subjectInput = $('input[name="subject"]'),
      $selectBox = $('select[name="selected_id"]');
   if ($forumId.length && $subjectInput.length && $selectBox.length && "/post" == location.pathname) {
      var prefix = '[' + $selectBox.find('option[value="f' + $forumId.val() + '"]').text().match(/[\|\s\-]+([^\|]+)/)[1] + '] ';
      if (!/^(1|2)$/.test($forumId.val()) && $subjectInput.val().indexOf(prefix) === -1) {
         $subjectInput.val(prefix + $subjectInput.val());
      }
   }
});

Ghi chú:

Trong hướng dẫn trên ở dòng 7, có đoạn:
Code:
!/^(1|2)$/.test($forumId.val()) &&

Đây là đoạn code loại trừ chuyên mục không tự tạo tiền tố. Trong đó 1 và 2 là Forum Id của chuyên mục.

Nếu bạn muốn tạo tiền tố tự động cho toàn diễn đàn thì xóa đoạn code đó đi.

Nếu bạn muốn loại trừ chuyên mục nào thì thay thế số 1 và 2 bằng Forum Id tương ứng. Ví dụ:
Loại trừ chuyên mục 10, sửa (1|2) thành (10)
Loại trừ chuyên mục 10, 20, 30 (1|2) thành (10|20|30) chú ý dấu | ngăn cách giữa các Forum Id.

Nếu bạn muốn chỉ tạo tiền tố cho chuyên mục 1 và 2 thì xóa dấu ! đi.

Sử dụng chung với zzPrefix sẽ cho kết quả tốt nhất.


Nguồn


Zzbaivong (devs.forumvi.com)
  Bài viết hay nhất61
ah, mình muốn hỏi, cũng là tạo tiền tố tự động, nhưng tạo theo một số cụm từ có trong tiêu đề bài viết được không?
Ví dụ: Mình muốn khi người dùng đăng một bài đăng mới với tiêu đề bất kỳ, trong tiêu đề đó có cụm từ "Android", có code nào mình quy định trước là khi có bài viết trong tiêu đề có cụm từ andoird thi sẽ tự động lấy cụm từ đó làm tiền tố. Vì mình muốn dùng chung với ZZPREFIX mà không phải người dùng nào cũng chịu khó ngồi viết theo quy cách đóng mở ngoặc ở đầu tiêu đề.
  Bài viết hay nhất62
Nếu thế bạn có thể dùng code Topic prefixes của ViệtK, nếu lỗi thì thử bản này.
  Bài viết hay nhất63

Zzbaivong wrote:Nếu thế bạn có thể dùng code Topic prefixes của ViệtK, nếu lỗi thì thử bản này.
Tình hình là khi sử dụng cả code cũ lẫn code mới của VK thì khi viết bài đăng vẫn chọn được prefix, nhưng khi xuất bản thì không có prefix trong tiêu đề, bác xem lại giúp với;
Froum: dragonmania.forumvi.com
ID: Demo
Pass: demo123
cảm ơn :)
  Bài viết hay nhất64
Tắt hết các script khác xem.
  Bài viết hay nhất65
chắc số mình xui. Áp tut nào vô cũng không hoạt động, tắt script của template thì hoạt động :( mà cái template không có cái script đó thì coi như tiêu rồi :(
  Bài viết hay nhất66
sao em dùng cho phpbb3 k dc nhĩ ?
  Bài viết hay nhất67

AnChina wrote:sao em dùng cho phpbb3 k dc nhĩ ?
Xem lại hướng dẫn, mình vừa cập nhật lại code.
  Bài viết hay nhất68

Zzbaivong wrote:
AnChina wrote:Zzbaivong : giờ em muốn

VD : khi box đó là "Gunny Private" nhưng lúc lập topic trong box đó em muốn nó ra thành [Gunny] được không anh ?
Ở dòng 4, sửa:
Code:
b.text()
Thành:
Code:
b.text().replace("Gunny Private", "Gunny")

hỏi thêm : Vậy em muốn áp dụng cái này chó phpbb3 thì dùng code nào ạ ?
  Bài viết hay nhất69
Dòng số 6, sau [1], thêm replace vào:
Code:
[1].replace("Gunny Private", "Gunny")

Ps: Đã nhắc đổi bộ Unicode đi, để lỗi font hoài, không thì tắt cái bộ gõ đó đi, sài bộ gõ trên diễn đàn ấy. Còn để lỗi font lần nữa tôi xóa bài. -_-
  Bài viết hay nhất70
Cái này có áp dụng cho Invision không, Zzbaivong ?
Xóa /^(1|2)$/ đi rồi, chèn code vào JS đặt in all page mà chỉ thấy nó át mất tính năng di chuột hiển thị url Việt hóa thôi. Tiền tố vẫn không thấy đâu.
  Bài viết hay nhất71
Xóa cả cái đoạn:
Code:
!/^(1|2)$/.test($forumId.val()) &&
  Bài viết hay nhất72

Zzbaivong wrote:Xóa cả cái đoạn:
Code:
!/^(1|2)$/.test($forumId.val()) &&
Vẫn không được
  Bài viết hay nhất73
Vô lý thế, mình vẫn đang dùng đây mà :v
  Bài viết hay nhất74
Tại sao em làm không được ạ?
  Bài viết hay nhất75
mình củng làm không được
  Bài viết hay nhất76
mấy bác đừng có nói xuông thế ?? demo đâu?? nick test đâu ?? -_-
  Bài viết hay nhất77
Demo : http://forumchemgio123.123.st/
Nick test : trandangduat
Mk nick test : Duat2005
  Bài viết hay nhất78

trandangduat wrote:Demo : http://forumchemgio123.123.st/
Nick test : trandangduat
Mk nick test : Duat2005
bạn bật javascript chưa -_-
  Bài viết hay nhất79
Bật rùi ! Dạ em phải là em vì em năm nay lớp 5 !
  Bài viết hay nhất80
Code:
!/^(1|2)$/.test($forumId.val()) &&
nói rỏ xóa từ chỗ nào đến chỗ nào vậy bạn ??? hay là xóa hết đoạn
Code:
!/^(1|2)$/.test($forumId.val()) &&
này luôn , mới làm forum nên ko hiểu thông cảm ạ
  Bài viết hay nhất81
Xóa dấu ! thôi
  Bài viết hay nhất82

kuzu_mtp wrote:Xóa dấu ! thôi
xóa dấu gì ?? đã ko hiểu còn nói chả hiểu thêm :(
  Bài viết hay nhất83

nguoidaukho_qn wrote:
Code:
!/^(1|2)$/.test($forumId.val()) &&
nói rỏ xóa từ chỗ nào đến chỗ nào vậy bạn ??? hay là xóa hết đoạn
Code:
!/^(1|2)$/.test($forumId.val()) &&
này luôn , mới làm forum nên ko hiểu thông cảm ạ
Xóa hết đoạn nhé bạn.
  Bài viết hay nhất84
vậy có nghĩa là còn
Code:
$(function() {
  var $forumId = $('input[name="f"]'),
      $subjectInput = $('input[name="subject"]'),
      $selectBox = $('select[name="selected_id"]');
  if ($forumId.length && $subjectInput.length && $selectBox.length && "/post" == location.pathname) {
      var prefix = '[' + $selectBox.find('option[value="f' + $forumId.val() + '"]').text().match(/[\|\s\-]+([^\|]+)/)[1] + '] ';
      if ( $subjectInput.val().indexOf(prefix) === -1) {
        $subjectInput.val(prefix + $subjectInput.val());
      }
  }
});
thế này thôi hã Boom
  Bài viết hay nhất85
@nguoidaukho_qn Đúng rồi bạn.
  Bài viết hay nhất86
You cannot reply to topics in this forum