Membres connectés récemment
[PhpBB3] Préfixes sur titre limité à une catégorie
2 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Rappel du premier message :
- Version du forum :PhpBB3
- Templates modifiés :oui
- Navigateur :Firefox
Bonjour,
J'utilise ce script des prefixes peaufiné par Philippe sur les titres de sujets.
Serait-il possible de n'activer ce script que sur la catégorie "Les photos du clic"
Si cela est possible, serait-il possibleaussi d'obliger le membre à renseigner ce champ avec l'une des lignes du menu déroulant.
Et si le membre veut envoyer son message avec ce champ vide, avoir un message l'informant que ce champ est obligatoire.
Merci pour votre aide.
Le script utilisé:
J'utilise ce script des prefixes peaufiné par Philippe sur les titres de sujets.
Serait-il possible de n'activer ce script que sur la catégorie "Les photos du clic"
Si cela est possible, serait-il possibleaussi d'obliger le membre à renseigner ce champ avec l'une des lignes du menu déroulant.
Et si le membre veut envoyer son message avec ce champ vide, avoir un message l'informant que ce champ est obligatoire.
Merci pour votre aide.
Le script utilisé:
- Code:
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
var _pm = false;
var chk = false;
function toMenu(a) {
var htmlpre = '<select style="margin-right:5px" id="prefix" size="1"><option value="">Préfixe</option>';
for (i in a)
htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
htmlpre += '</select>';
return htmlpre;
}
function checkpre(ar, input) {
for (i in ar) {
var p = new RegExp("\\" + ar[i], "g");
var title = input.substr(0, input.indexOf(']'));
if (p.test(title)) return ar[i];
}
return "";
}
$(function () {
if (_pm) chk = /\privmsg/.test(location.href);
if (/\/post/.test(location.href)&&!$('form[name="post_ads"]').length || chk) {
$(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
var mw = $("#prefix").width() + 5;
$("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
var t = $("[name=subject]").val();
var cur = checkpre(prefixes, t);
if (cur != "") {
$("[value=" + cur + "]").attr("selected", "selected");
$("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
}
$("input[name=post]").click(function () {
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
Hello Serge,
tu peux tester ce script mais juste pour l'édition donc a remplacer:
Il faudra aussi donner le même style que le select :
Car ce script à le select avec l'id:
Donc la c.s.s sera:
Mais avant tout ajouter la variable affichant le forum dans le template:posting_body
Affichage/Templates/Poster et messages privés/posting_body
Juste après la variable:
Penses a enregistrer puis à valider en cliquant respectivement sur puis
Ou les deux cumulés:
tu peux tester ce script mais juste pour l'édition donc a remplacer:
Il faudra aussi donner le même style que le select :
- Code:
#prefix
Car ce script à le select avec l'id:
- Code:
#prefixesedit
Donc la c.s.s sera:
- Code:
#prefix , #prefixesedit{TA CSS}
Mais avant tout ajouter la variable affichant le forum dans le template:posting_body
Affichage/Templates/Poster et messages privés/posting_body
Juste après la variable:
- Code:
{ERROR_BOX}
- Code:
<a href="{U_VIEW_FORUM}"class="M14_forumname"style="display:none;">{FORUM_NAME}</a>
Penses a enregistrer puis à valider en cliquant respectivement sur puis
- Code:
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets
$(function(){
var test1=$('a.M14_forumname[href^="/f1-"]').length;
var test2=$('a.M14_forumname[href^="/f4-"]').length;
var test3=$('a.M14_forumname[href^="/f5-"]').length;
var test4=$('a.M14_forumname[href^="/f6-"]').length;
var test5=$('a.M14_forumname[href^="/f19-"]').length;
if((test1)||(test2)||(test3)||(test4)||(test5))
{
var prefixes = ["Paysages","Panoramas","Portraits","Instants de vie et rue","Studio","Petite série","Nu /Charme","Concerts et spectacles","Animaux","Noir et Blanc","Flore","Macro et Proxy","Urbex Engins et véhicules","Architecture et Graphisme","Sport","Inclassables"];
var _pm = false;
var chk = false;
function toMenu(a) {
var htmlpre = '<select style="margin-right:5px" id="prefixesedit" size="1"><option value="">Préfixe</option>';
for (i in a)
htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
htmlpre += '</select>';
return htmlpre;
}
function checkpre(ar, input) {
for (i in ar) {
var p = new RegExp("\\" + ar[i], "g");
var title = input.substr(0, input.indexOf(']'));
if (p.test(title)) return ar[i];
}
return "";
}
$(function () {
if (_pm) chk = /\privmsg/.test(location.href);
if (/\/post/.test(location.href)&&!$('form[name="post_ads"]').length || chk) {
$(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
var mw = $("#prefixesedit").width() + 5;
$("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
var t = $("[name=subject]").val();
var cur = checkpre(prefixes, t);
if (cur != "") {
$("[value=" + cur + "]").attr("selected", "selected");
$("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
}
$("input[name=post]").click(function () {
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefixesedit").val() != "")
$("input[name=subject]").val("[" + $("#prefixesedit").val() + "] " + sub);
var test=$("#prefixesedit").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'');
}
});
}
});
}
});
}
Ou les deux cumulés:
- Code:
location.pathname=="/post" && /^\?f=(1|4|5|6|19)&mode=newtopic$/.test(location.search) && $(function(){
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
var _pm = false;
var chk = false;
function toMenu(a) {
var htmlpre = '<select style="margin-right:5px" id="prefix" size="1"><option value="">Préfixe</option>';
for (i in a)
htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
htmlpre += '</select>';
return htmlpre;
}
function checkpre(ar, input) {
for (i in ar) {
var p = new RegExp("\\" + ar[i], "g");
var title = input.substr(0, input.indexOf(']'));
if (p.test(title)) return ar[i];
}
return "";
}
$(function () {
if (_pm) chk = /\privmsg/.test(location.href);
if (/\/post/.test(location.href)&&!$('form[name="post_ads"]').length || chk) {
$(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
var mw = $("#prefix").width() + 5;
$("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
var t = $("[name=subject]").val();
var cur = checkpre(prefixes, t);
if (cur != "") {
$("[value=" + cur + "]").attr("selected", "selected");
$("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
}
$("input[name=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
});
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets
var prefixes = ["Paysages","Panoramas","Portraits","Instants de vie et rue","Studio","Petite série","Nu /Charme","Concerts et spectacles","Animaux","Noir et Blanc","Flore","Macro et Proxy","Urbex Engins et véhicules","Architecture et Graphisme","Sport","Inclassables"];
var _pm = false;
var chk = false;
function toMenu(a) {
var htmlpre = '<select style="margin-right:5px" id="prefix" size="1"><option value="">Préfixe</option>';
for (i in a)
htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
htmlpre += '</select>';
return htmlpre;
}
function checkpre(ar, input) {
for (i in ar) {
var p = new RegExp("\\" + ar[i], "g");
var title = input.substr(0, input.indexOf(']'));
if (p.test(title)) return ar[i];
}
return "";
}
$(function () {
if (_pm) chk = /\privmsg/.test(location.href);
if (/\/post/.test(location.href)&&!$('form[name="post_ads"]').length || chk) {
$(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
var mw = $("#prefix").width() + 5;
$("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
var t = $("[name=subject]").val();
var cur = checkpre(prefixes, t);
if (cur != "") {
$("[value=" + cur + "]").attr("selected", "selected");
$("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
}
$("input[name=post]").click(function () {
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'');
}
});
}
});
}
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets
$(function(){
var test1=$('a.M14_forumname[href^="/f1-"]').length;
var test2=$('a.M14_forumname[href^="/f4-"]').length;
var test3=$('a.M14_forumname[href^="/f5-"]').length;
var test4=$('a.M14_forumname[href^="/f6-"]').length;
var test5=$('a.M14_forumname[href^="/f19-"]').length;
if((test1)||(test2)||(test3)||(test4)||(test5))
{
var prefixes = ["Paysages","Panoramas","Portraits","Instants de vie et rue","Studio","Petite série","Nu /Charme","Concerts et spectacles","Animaux","Noir et Blanc","Flore","Macro et Proxy","Urbex Engins et véhicules","Architecture et Graphisme","Sport","Inclassables"];
var _pm = false;
var chk = false;
function toMenu(a) {
var htmlpre = '<select style="margin-right:5px" id="prefixesedit" size="1"><option value="">Préfixe</option>';
for (i in a)
htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
htmlpre += '</select>';
return htmlpre;
}
function checkpre(ar, input) {
for (i in ar) {
var p = new RegExp("\\" + ar[i], "g");
var title = input.substr(0, input.indexOf(']'));
if (p.test(title)) return ar[i];
}
return "";
}
$(function () {
if (_pm) chk = /\privmsg/.test(location.href);
if (/\/post/.test(location.href)&&!$('form[name="post_ads"]').length || chk) {
$(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
var mw = $("#prefixesedit").width() + 5;
$("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
var t = $("[name=subject]").val();
var cur = checkpre(prefixes, t);
if (cur != "") {
$("[value=" + cur + "]").attr("selected", "selected");
$("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
}
$("input[name=post]").click(function () {
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefixesedit").val() != "")
$("input[name=subject]").val("[" + $("#prefixesedit").val() + "] " + sub);
var test=$("#prefixesedit").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'');
}
});
}
});
}
});
}
Bonsoir Philippe,
Je crois que tu es arrivé au bout de ce script et j'en suis d'autant plus ravi, que tu pensais la chose impossible au début.
Bravo et un grand merci pour ce travail.
Cette fois tout fonctionne comme je l'imaginais au début
Merci encore Phil.
Je passe en résolu
PS au cas où ce script intéresserait d'autres membres (et parce que je suis aussi puriste que Phil :-) ):
. tu as ajouté un pavé de trop dans les 2 cumulés.
. Il y a un " en trop avant le \n#' sur cette ligne en bas dans le mode édition.
Je crois que tu es arrivé au bout de ce script et j'en suis d'autant plus ravi, que tu pensais la chose impossible au début.
Bravo et un grand merci pour ce travail.
Cette fois tout fonctionne comme je l'imaginais au début
Merci encore Phil.
Je passe en résolu
PS au cas où ce script intéresserait d'autres membres (et parce que je suis aussi puriste que Phil :-) ):
. tu as ajouté un pavé de trop dans les 2 cumulés.
. Il y a un " en trop avant le \n#' sur cette ligne en bas dans le mode édition.
- Code:
$('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'
Page 2 sur 2 • 1, 2
Sujets similaires
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum