Oops
Le logiciel qui alimente ce forum de discussion a rencontré un problème inattendu. Nous nous exc
Hmm.
C’est délicat. Il n’y a pas beaucoup d’informations à tirer de l’erreur dans la console du navigateur.
Je me demande si vous ne pouvez pas voir /logs parce que vous n’êtes pas connecté. Il serait peut-être possible d’utiliser la page de connexion de l’administrateur pour contourner ce qui se passe et accéder aux journaux, si vous pouviez essayer (/u/admin-login).
J’ai saisi mon e-mail d’administrateur et j’ai reçu un lien de session de connexion par e-mail, mais lorsque je suis ce lien, je rencontre à nouveau ce message :
Oups
…
…
C’était un peu tiré par les cheveux.
Il est inhabituel que commenter les plugins n’aide pas. Lorsque vous avez reconstruit par la suite, la reconstruction a-t-elle réussi ?
Merci, succès.
Hier, j’ai reconstruit l’application avec succès, mon forum aussi. Plus tard, j’ai reçu une notification de mise à niveau sur la page d’administration, j’ai mis à niveau via le site Web. Plus tard, j’ai reçu le message « Ops… … »
J’ai donc reconstruit à nouveau via la ligne de commande. Et ça plante depuis.
Voici mes journaux dans la page Journal
Violation CSP : 'https://sitetor.com/assets/plugins/footnote-79e2a367b53b791240c3504826b87b2787c9d197d77cd422969d592aae9cf23b.js'
5 juin 8:27
Violation CSP : 'https://sitetor.com/assets/plugins/discourse-lazy-videos-bdf1486acc96b228a2163490640a2bdc90f5e0a1bb1949335fd1fde2ad48795c.js'
5 juin 8:27
Violation CSP : 'https://sitetor.com/theme-javascripts/a3636f1729d8c81989eb6665a5a33c82564fcec4.js?__ws=sitetor.com'
5 juin 8:27
Violation CSP : 'https://sitetor.com/theme-javascripts/ca4f2222209109b7d767260935bb303d2b284516.js?__ws=sitetor.com'
5 juin 8:27
Avis de dépréciation : `SiteSetting.min_trust_level_to_allow_ignore` a été déprécié. Veuillez utiliser `SiteSetting.ignore_allowed_groups` à la place. (suppression dans Discourse 3.3) À /var/www/discourse/lib/gua
8 juin 19:55
15
Violation CSP : 'https://www.google-analytics.com'
10 juin 21:32
2
Violation CSP : 'https://sitetor.com/svg-sprite/sitetor.com/svg-93-10018d578f2d963b00e0465dc2060daae0e3a6cc.js'
16 juin 15:24
Violation CSP : 'https://sitetor.com/javascripts/magnific-popup/1.1.0/jquery.magnific-popup.min.js'
16 juin 15:24
6
Violation CSP : 'wasm-eval'
22 juin 10:05
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERREUR : la valeur de clé en double viole la contrainte d'unicité « index_topic_tags_on_topic_id_and_tag_id » DÉTAIL : La clé (topic_id, tag_id)=(65105, 601) existe déjà
30 juin 11:47
Échec de la gestion de l'exception dans le middleware d'application d'exception : ActiveRecord::RecordNotUnique : PG::UniqueViolation: ERREUR : la valeur de clé en double viole la contrainte d'unicité « index_topic_tags_on_topic_id_and_t
30 juin 11:47
10
NoMethodError (méthode non définie `scan' pour {:one=>"Catégories (%{count} de plus)…", :other=>"Catégories (%{count} de plus)…"}:Hash) lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find' app/controllers/adm
30 juin 21:19
24
Violation CSP : 'eval' () => { utils.preloadCache() }
1er juillet 23:34
21
NoMethodError (méthode non définie `slug_path' pour nil:NilClass) app/models/category.rb:1103:in `slug_path' app/models/category.rb:945:in `block in url' lib/distributed_cache.rb:20:in `defer_get_set' app
4 juillet 9:59
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) introuvable : Aucun fichier ou répertoire de ce type @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
4 juillet 15:23
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) introuvable : Aucun fichier ou répertoire de ce type @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
4 juillet 15:23
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) introuvable : Aucun fichier ou répertoire de ce type @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
5 juillet 16:17
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) introuvable : Aucun fichier ou répertoire de ce type @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
5 juillet 16:17
Avis de dépréciation : `AdminDashboardData#add_problem_check` est déprécié. Implémentez une classe qui hérite de `ProblemCheck` à la place. (suppression dans Discourse 3.3) À /var/www/discourse/plugins/discourse-si
6 juillet 1:00
20
Violation CSP : 'https://sitetor.com/assets/start-discourse-c524a8995f2f0cbcea43353efe8e8f269da821ea97c21ef0f04df5fcd916170a.js'
dimanche 16:33
20
Violation CSP : 'https://sitetor.com/assets/browser-update-9070f07226d022f68c06506e046ae33f8fe725302ff53955cd3d483f2fc47ff6.js'
dimanche 16:33
Violation CSP : 'https://sitetor.com/svg-sprite/sitetor.com/svg-87-ca7d0fff2c92f16b8b655f85bb0a36f4c6eb98df.js'
dimanche 16:33
Violation CSP : 'https://sitetor.com/uploads/default/original/2X/d/d8ce366bd7aad8f9fc7b26b08aecc855dd6d425c.js'
dimanche 16:33
3
Violation CSP : 'https://pagead2.googlesyndication.com'
dimanche 16:33
23
ActionView::Template::Error (méthode non définie `slug_path' pour nil:NilClass) app/models/category.rb:1103:in `slug_path' app/models/category.rb:945:in `block in url' lib/distributed_cache.rb:20:in `defe
lun 18:50
69
RequestTracker.get_data a échoué : Encoding::UndefinedConversionError : "\\xA3" de ASCII-8BIT vers UTF-8
mar 2:15
181
RequestTracker.get_data a échoué : Encoding::UndefinedConversionError : "\\xA1" de ASCII-8BIT vers UTF-8
mar 15:52
8
Avis de dépréciation : la méthode `UsersController#modify_user_params` est dépréciée. Veuillez utiliser le modificateur `users_controller_update_user_params` à la place. (déprécié depuis Discourse 3.1.0.beta4) (suppression
mar 23:18
Avis de dépréciation : `AdminDashboardData#add_problem_check` est déprécié. Implémentez une classe qui hérite de `ProblemCheck` à la place. (suppression dans Discourse 3.3) À /var/www/discourse/plugins/discourse-si
mer 14:46
Cache corrompu... entrée ignorée pour la clé _CACHE:sitemap/1/50000 : ArgumentError : erreur de format de vidage (classe utilisateur)
mer 18:39
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) introuvable : Aucun fichier ou répertoire de ce type @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
mer 22:51
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) introuvable : Aucun fichier ou répertoire de ce type @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
mer 22:51
Avis de dépréciation : `AdminDashboardData#add_problem_check` est déprécié. Implémentez une classe qui hérite de `ProblemCheck` à la place. (suppression dans Discourse 3.3) À /var/www/discourse/plugins/discourse-si
5:40
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
5:57
Échec de la gestion de l'exception dans le middleware d'application d'exception : ActionView::Template::Error : {:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}
5:57
Avis de dépréciation : `AdminDashboardData#add_problem_check` est déprécié. Implémentez une classe qui hérite de `ProblemCheck` à la place. (suppression dans Discourse 3.3) À /var/www/discourse/plugins/discourse-si
8:49
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
9:03
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
9:18
Avis de dépréciation : `AdminDashboardData#add_problem_check` est déprécié. Implémentez une classe qui hérite de `ProblemCheck` à la place. (suppression dans Discourse 3.3) À /var/www/discourse/plugins/discourse-si
10:11
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
10:48
3
NoMethodError (méthode non définie `slug_path' pour nil) app/models/category.rb:1229:in `slug_path' app/models/category.rb:1069:in `block in url' lib/distributed_cache.rb:20:in `defer_get_set' app/models/
12:26
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
13:21
10
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
13:46
16
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
13:48
59
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
14:52
47
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
14:10
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
14:23
16
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
14:24
ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}) lib/js_locale_helper.rb:153:in `output_MF' app/controllers/
14:25
17
Échec de la gestion de l'exception dans le middleware d'application d'exception : ActionView::Template::Error : {:cause=>#<MiniRacer::RuntimeError: Erreur : le cas pluriel un n'est pas valide dans cette locale à la ligne 4 col 15:>}
14:25
Cette erreur « enregistrement non unique » suggère que vous avez un index corrompu. Vous devrez trouver les sujets qui expliquent comment le corriger (principalement supprimer les balises en double).
Avez-vous des balises en majuscules et en minuscules, par hasard ? (comme mytag et myTag)
Je ne me souviens pas,
Existe-t-il une commande SSH pour lister les tags créés ?
Cependant, même si je ne peux pas accéder à la page d’accueil dans le nouvel onglet, heureusement mon navigateur conserve l’ancien onglet avant la mise à niveau, et je peux toujours charger de nombreux nouveaux sujets sur la page d’accueil.
Pouvez-vous accéder à la page des tags ?
Mais vous devrez résoudre votre problème de base de données manuellement. Le plus simple sera de supprimer les entrées en double.
Je pense qu’il y a quelques sujets sur la façon de faire cela dans d’autres cas.
Je pense que vous essayez de reconstruire l’index, de trouver ce qui le fait échouer, puis de le supprimer et de continuer ainsi jusqu’à ce que cela fonctionne.
J’ai essayé d’accéder à la page des tags mais cela n’a pas fonctionné. Cette erreur s’est produite lors de la mise à niveau. Pourquoi le forum fonctionne-t-il toujours normalement sans mise à niveau ? Comment résoudre votre problème de base de données manuellement ? Je suis un utilisateur normal, pas un développeur ![]()
Je ne sais pas. Peut-être que quelque chose a changé et que les balises ne sont plus sensibles à la casse ? Ou peut-être est-ce un bug.
Mais cela semble avoir à voir avec le fait que les balises ne sont pas uniques d’une manière ou d’une autre :
Ce n’est pas une tâche pour un utilisateur normal.
And How about this error ActionView::Template::Error ({:cause=>#<MiniRacer::RuntimeError: Error: The plural case one is not valid in this locale at line 4 col 15:>}) lib/js_locale_helper.rb:153:in output_MF’ app/controllers/`
Before, I use Remove Dashes from Tag Names. Are they the cause of duplicate Tags?
I access success to tag page:
There is all tags in tags page, And I didn’t find any pairs of duplicate tags
View tag page detail
Tag
Đắc địa
Góc 2 mặt tiền x 70
Góc 3 mặt tiền x 2
Góc 4 mặt tiền x 1
Domains
Add Villa x 4
Raise Building x 2
Dự án
Hướng
Bắc x 1
Đông x 1
Đông Bắc x 1
Đông Nam x 1
Nam x 1
Tây x 1
Tây Bắc x 1
Kinh doanh
24h x 3
Cafe x 7
Cây xăng x 1
Chuỗi x 58
Điện thoại x 2
Game x 1
Giải trí x 6
Giao hàng x 1
Giặt ủi x 1
Giày dép x 3
Gym x 1
Hầm rựu x 1
Karaoke x 8
Mắt kính x 1
Nhà hàng x 10
Nha khoa x 2
Nhà sách x 2
Nhà thuốc x 3
Nội thất x 5
Phòng khám x 2
Phòng thu x 1
Pizza x 2
Quán ăn x 2
Quán nhậu x 3
Salon x 1
Sang x 1
Showroom x 10
Siêu thị x 8
Spa x 3
Thời trang x 11
Thức ăn nhanh x 2
Tiệm net x 1
Trà sữa x 1
Trái cây x 1
Trang sức x 1
Trường học x 2
Văn phòng x 18
Xe hơi x 1
Xe máy x 2
Xì gà x 1
Loại BĐS
Biệt thự Villa x 20
Căn hộ chung cư x 27
Căn hộ dịch vụ x 1
Chung cư x 23
Đất x 11
Kho xưởng x 1
Mặt bằng Nhà phố x 361
Sân thượng x 1
ShophouseViet x 3
Tòa nhà x 3
Văn phòng x 18
Loại giao dịch
Bán x 47
Cần mua x 32
Cần thuê x 413
Cho thuê x 12942
Mặt tiền (m)
Ngang 10m x 632
Ngang 11m x 539
Ngang 12m x 553
Ngang 13m x 396
Ngang 14m x 403
Ngang 15m x 504
Ngang 16m x 332
Ngang 17m x 158
Ngang 18m x 262
Ngang 19m x 38
Ngang 20m x 445
Ngang 3m x 988
Ngang 4m x 1562
Ngang 5m x 907
Ngang 6m x 977
Ngang 7m x 978
Ngang 8m x 959
Ngang 9m x 976
Mục đích sử dụng
Đầu tư x 1
Để ở x 5
Kinh doanh x 392
tickets_priority
tickets_reason
tickets_status
TPHCM
Bình Tân x 1
Bình Thạnh x 2
Cần Giờ x 1
Củ Chi x 1
Gò Vấp x 1
Hóc Môn x 1
Nhà Bè x 1
Quận 1 x 2
Quận 10 x 1
Quận 11 x 1
Quận 12 x 2
Quận 2 x 1
Quận 3 x 1
Quận 4 x 1
Quận 5 x 1
Quận 6 x 1
Quận 7 x 1
Quận 8 x 1
Quận 9 x 1
Quận Phú Nhuận x 1
Tân Phú x 1
Thủ Đức x 1
Trạng thái giao dịch
Chưa xác định x 1
Đã giao dịch x 2
Đang giao dịch x 1
Ngưng giao dịch x 1
Vị trí
Hẻm ngõ x 8
Mặt tiền x 12914
Nội bộ x 1
Các thẻ khác
3PN x 2
4 lầu x 1
Bán đất x 2
Bán nhà x 1
Bình Trị Đông A x 1
Cơ hội x 2
Có Video x 6
cv x 1
Đã đặt cọc x 1
Đà Nẵng x 1
Đất trống x 1
DT 10x24m x 1
DT 17x31m x 1
DT 4x16m x 1
DT 4X17M x 1
DT 4x18 x 1
DT 4x20 x 1
DT 5x15m x 1
DT 5x19m x 1
DT 6x28 x 1
DT 7x21m x 1
DT 8x15m x 1
DT 8x20m x 1
DT 8x22m x 1
DT 8x26m x 1
DT 9x41m x 1
DT đất 105m2 x 1
DT: 10x7m x 1
DT: 6x17m x 1
DTS 2880m2 x 1
DTSD 805m2 x 1
dự án x 1
Flycam x 1
Giá 100 tỷ x 1
Giá 108 tỷ x 1
Giá 110 tỷ x 1
Giá 130 tỷ x 1
Giá 150 tỷ x 3
Giá 180 tỷ x 1
Giá 200 tỷ x 1
Giá 218 tỷ x 1
Giá 220 tỷ x 1
Giá 26 tỷ x 1
Giá 27 tỷ x 1
Giá 28 tỷ x 3
Giá 31 tỷ x 1
Giá 34 tỷ x 1
Giá 35 tỷ x 1
Giá 36 tỷ x 1
Giá 43 tỷ x 1
Giá 48 tỷ x 1
Giá 53 tỷ x 1
Giá 55 tỷ x 1
Giá 60 tỷ x 2
Giá 63 tỷ x 1
Giá 7 tỷ x 1
Giá 70 tỷ x 1
Giá 74 tỷ x 1
Giá 76 tỷ x 1
Giá 79 tỷ x 1
Giá 80 triệu x 1
Giá 80 tỷ x 1
Giá 85 tỷ x 1
Giá: 27 tỷ x 1
Giá: 29 tỷ x 1
Giá: 32 tỷ x 1
Giá: 39 tỷ x 1
Kết cấu 7 lầu x 1
khách nhà bán x 1
Không thuê x 2
Khu cây xanh x 1
Loại BĐS x 2
Mặt bằng x 1
Mặt Bằng Đẹp x 69
Mặt tiền 4m x 1
Ngang 26m x 1
Ngang 29m x 1
Ngưng bán x 2
Ngưng cho thuê x 1
Nhà x 5
Nhà Bến Nghé x 1
Nhà phố x 5
Nhà VT x 1
Phường Bến Nghé x 5
Phường Bến Thành x 174
Phường Cầu Kho x 1
Phường Đa Kao x 2
Phường Thảo Điền x 3
Sang nhượng x 2
Tân Định x 1
Thiết kế Decor x 14
Thuê bao x 1
TPHCM x 417
Trệt 2 lầu x 1
Việc làm x 13
Villa x 1
vnBuildings x 4
Võ Văn Kiệt x 1
VP x 1
Xuống giá x 1
I see 2 tag same “Phân” & “Phần”
Phân khúc 100 200 tỷ x 3
Phần khúc 100 200 tỷ x 1
i deleted this tag:
Phần khúc 100 200 tỷ x 1
But unstill not access Homepage ![]()
Comme il s’agit d’un #composant-thème, vous pouvez le désactiver dans l’onglet composants. Je ne suis pas sûr que cela puisse causer le problème, car à ma connaissance, il s’agit de modifications côté client. Ce composant en particulier ne fait que modifier l’apparence des balises. Aucun risque cependant à tester pour l’exclure.
Là où votre base de données est côté serveur.
Ouais ! @Heliosurge J’ai accédé à la page des paramètres et désactivé tous les composants de thème et sélectionné le thème par défaut. J’ai accédé à la page d’accueil mais cela n’a eu aucun effet.
Si le mode sans échec ne fonctionne pas. Vous devrez peut-être envisager de publier dans Marketplace si vous n’êtes pas familier/à l’aise avec la reconstruction manuelle.
Je sais, d’après ce que @pfaffman a dit, que j’aurais besoin d’aide dans cette situation.
Bonjour, quelles Opérations en bloc administratives puis-je supprimer (topic_id, tag_id)=(65105, 601) ?
Merci
J’ai créé le sujet Besoin de résoudre mon problème de base de données manuellement erreur avec des tags non uniques après la mise à niveau du forum et j’ai reçu de l’aide de @ itsbhanusharma mais je n’ai toujours pas trouvé la cause.
J’ai restauré le serveur Vultr que j’avais sauvegardé en avril 2024. Ensuite, j’ai restauré les données sauvegardées dans le fichier Dashboard .tar.gz. Mais j’ai toujours la même erreur que ci-dessus. Il semble que cette sauvegarde (fichier .tar.gz) ait la même erreur, bien qu’elle ait été restaurée, le site Web ne peut pas être accédé.
J’ai réutilisé la version du serveur Vultr 044/2024 et développé le contenu jusqu’à présent.
Aujourd’hui, j’ai accédé à admin/customize/site_texts/js.topic.read_more_MF?locale=en_GB
Pour traduire les contenus
sujet restant
ou parcourir d’autres sujets dans
voir les derniers sujets
{ HAS_UNREAD_AND_NEW, select,
true {
{ UNREAD, plural,
=0 {}
one {Il y a # non lu}
other {Il y a # non lus}
}
{ NEW, plural,
=0 {}
one { et # nouveau sujet restant,}
other { et # nouveaux sujets restants,}
}
}
false {
{ UNREAD, plural,
=0 {}
one {Il y a # sujet non lu restant,}
other {Il y a # sujets non lus restants,}
}
{ NEW, plural,
=0 {}
one {Il y a # sujet nouveau restant,}
other {Il y a # nouveaux sujets restants,}
}
}
other {}
}
{ HAS_CATEGORY, select,
true { ou parcourir d'autres sujets dans {categoryLink}}
false { ou voir les derniers sujets}
other {}
}
Avec l’anglais, c’est un succès, mais avec le vietnamien, j’obtiens un message d’erreur lors de la sauvegarde depuis les paramètres :
Erreur : Le cas pluriel one n'est pas valide dans cette locale à la ligne 4, colonne 15 :
et j’ai trouvé cette erreur coïncider avec la page Log :
Y a-t-il une corrélation ?
Avez-vous lu le sujet sur la façon dont ces chaînes sont traduites ?
Pourquoi personnalisez-vous le texte sur votre forum ? Y a-t-il une erreur dans la traduction ou préférez-vous simplement une formulation différente ?
Merci beaucoup pour votre tutoriel, je l’ai lu et modifié comme suit et il s’est affiché avec succès :
{ HAS_UNREAD_AND_NEW, select,
true {
{ UNREAD, plural,
=0 {}
other {Có # tin còn lại}
}
{ NEW, plural,
=0 {}
other { và # new chưa đọc,}
}
}
false {
{ UNREAD, plural,
=0 {}
other {Có # tin còn lại chưa đọc,}
}
{ NEW, plural,
=0 {}
other {Có # tin mới chưa đọc,}
}
}
other {}
}
{ HAS_CATEGORY, select,
true { hoặc xem tin tức khác trong {categoryLink}}
false { hoặc xem tin mới nhất}
other {}
}