О нас Форум Баннеры RSS картинка Нас уже 577, Присоединяйся
Пожаловаться

Всем привет, вот решил выложить третью версию хака с дополнительными полями.
Ну значительных изменений почти нет, но небольшие доработки думаю были необходимы.
Что нового? Теперь новых дополнительных полей стало 9 штук.
Но также ещё написал для пользователя tartar01 код для 19 полей..
Также код стал меньше - спасибо пользователю Ghostly_Phoenix с вебочки.
И придумал как решить проблему у тех у кого ничего не работает:
Упрощенная версия, где нет js, но написание доп.полей полностью ручное


[c]Обновлено - 18 декабря

А ну и ещё - вот вторая версия если что)


Описание, кто во второй версии возможности не читал:


Установка я подробно расписал, и даже написал упрощенный код,
Если js скрипт не будет работать - смотрите в самом низу..

Установка:

Для полной работоспособности хака - зайдите в общие настройки сайта:
http://адрес_вашего_сайта/panel/?a=setup
И напротив "Тип формы по умолчанию для редактирования материалов" поставьте это:
BB-codes+HTML

И в настройках модуля, для которого нужны доп.поля, обязательно должны стоять 2 галки
Напротив пункта "Поля для добавления материалов"
У "Краткого описания материала" и "Полного текста материала"


1) Если поля делаем для модуля "Новости", то код ниже вставляем в "Архив новостей" перед </body>

А если в другой модуль ,то на
"Странице добавления и редактирования" нужного модуля перед </body> ставим:
Code
<?if($PAGE_ID$='add')?>
  <script>
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#МЕНЯТЬ');
  for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);  
  for(j=1;j<10;j++) {
  $('#farr'+j).append('<input id="apodp'+j+'" style="width:100%;background:white;" />');
  }
  $('.manFlSbm:last').click(function() {
for(i=1;i<10;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());

  }
  });
  </script>
  <?endif?>
  <?if($PAGE_ID$='edit')?>
  <script>
  var aratr = $('#message').html().replace('_x_Polus2',' aXxXa'), afr = 2, madas = [], madas = aratr.split(' '), razam = madas.length;
  for(g=0;g<razam;g++){if(madas[g]=='aXxXa'){var afr = 1;}}  
  if(afr=='1'){
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#Менять');
  for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);  
  var text = document.getElementById("message");
  var content = text.innerHTML;
  var mas = new Array();
  mas = content.split("_x_");
  var razm =mas.length;
  var artt=mas[0];
  document.getElementById('message').innerHTML = artt;
  for (var i=1; i<razm;i++){
  var afr=mas[i];
  var afrq=afr.replace('Polus'+i+' ','');
  if(afrq=='Polus9') {var afrq='';}  
  $("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');
  }
  // Site Author Novi4ok.Ru
  $('.manFlSbm:last').click(function() {
for(i=1;i<10;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());
  $('#rra' + i).remove()
  $('#farr' + i).remove()
  }
  });
  }else {
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#Менять');
  for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);  
  for(j=1;j<10;j++) {
  $('#farr'+j).append('<input id="apodp'+j+'" style="width:100%;background:white;" />');
  }
  $('.manFlSbm:last').click(function() {
  for(i=1;i<10;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());
  $('#rra' + i).remove()
  $('#farr' + i).remove()
  }
  });
  }
  </script>
  <?endif?>


Ищем в скрипте 3 слова МЕНЯТЬ и заменяем в соответствии с модулем:
Новости - nwM22
Каталог файлов - ldM8
Статьи - puM8
Блог - blM22
Доска объявлений - bdM8

Для модуля "Онлайн игры" код выше не подходит, так как там немного по-другому

Для этого модуля вставляем такой код в "Страницу добавления и редактирования"
(для других модулей его вставлять не надо):
Code
<?if($PAGE_ID$='add')?>
  <script>
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#txtPart555message');
  for(i=1;i<num;i++){var gp = gp + '<table><tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"><input id="apodp'+i+'" style="width:100%;background:white;" /></td></tr></table>';} element.after(gp);  
  $('.manFlSbm:last').click(function() {for(i=1;i<10;i++) { $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val()); } });
  </script>
  <?endif?>
  <?if($PAGE_ID$='edit')?>
  <script>
  var aratr = $('#message').html().replace('_x_Polus2',' aXxXa'), afr = 2, madas = [], madas = aratr.split(' '), razam = madas.length;
  for(g=0;g<razam;g++){if(madas[g]=='aXxXa'){var afr = 1;}}  
  if(afr=='1'){
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#txtPart555message');
  for(i=1;i<num;i++){var gp = gp + '<table><tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr></table>';} element.after(gp);  
  var text = document.getElementById("message");
  var content = text.innerHTML;
  var mas = new Array();
  mas = content.split("_x_");
  var razm =mas.length;
  var artt=mas[0];
  document.getElementById('message').innerHTML = artt;
  for (var i=1; i<razm;i++){
  var afr=mas[i];
  var afrq=afr.replace('Polus'+i+' ','');
  if(afrq=='Polus9') {var afrq='';}  
  $("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');
  }
  $('.manFlSbm:last').click(function() {
  for(i=1;i<10;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());
  $('#rra' + i).remove()
  $('#farr' + i).remove()}});}else{
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#txtPart555message');
  for(i=1;i<num;i++){var gp = gp + '<Table><tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"><input id="apodp'+i+'" style="width:100%;background:white;" /></td></tr></table>';} element.after(gp);  
  $('.manFlSbm:last').click(function() {
  for(i=1;i<10;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());
  $('#rra' + i).remove()
  $('#farr' + i).remove()
  }});}
  </script>
  <?endif?>


Можете сразу отредактировать название поля (то что слева отображается)

Для этого - ищем 3 повтора "Н#1" и меняем под себя и так с остальными т.д.

2) Заходим в
Управление дизайном » Модуль(Каталог файлов) » Страница материала и коммен. к нему
Ищем $MESSAGE$ и заменяем на этот код:
Code
<?if(strrpos($MESSAGE$,'Polus1')>0)?>
<?substr($MESSAGE$,0,strrpos($MESSAGE$,'_x_Polus1'))?>
<?else?>$MESSAGE$<?endif?>


Теперь там где хотим видеть информацию из доп. полей ставим:
Code
<?if(strrpos($MESSAGE$,'us1 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus1')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus1') + 10,strrpos($MESSAGE$,'_x_Polus2') - strrpos($MESSAGE$,'_x_Polus1') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us2 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus2')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus2') + 10,strrpos($MESSAGE$,'_x_Polus3') - strrpos($MESSAGE$,'_x_Polus2') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us3 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus3')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus3') + 10,strrpos($MESSAGE$,'_x_Polus4') - strrpos($MESSAGE$,'_x_Polus3') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us4 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus4')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus4') + 10,strrpos($MESSAGE$,'_x_Polus5') - strrpos($MESSAGE$,'_x_Polus4') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us5 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus5')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus5') + 10,strrpos($MESSAGE$,'_x_Polus6') - strrpos($MESSAGE$,'_x_Polus5') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us6 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus6')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus6') + 10,strrpos($MESSAGE$,'_x_Polus7') - strrpos($MESSAGE$,'_x_Polus6') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us7 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus7')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus7') + 10,strrpos($MESSAGE$,'_x_Polus8') - strrpos($MESSAGE$,'_x_Polus7') - 10)?><?endif?><?endif?>

<?if(strrpos($MESSAGE$,'us8 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus8')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus8') + 10,strrpos($MESSAGE$,'_x_Polus9') - strrpos($MESSAGE$,'_x_Polus8') - 10)?><?endif?><?endif?>

<?if(len($MESSAGE$) - strrpos($MESSAGE$,'_x_Polus9') - 9 = 0)?><?if(len($MESSAGE$) - strrpos($MESSAGE$,'_x_Polus9') - 10 = 0)?>ПУСТО<?else?>ПУСТО<?else?><?endif?><?endif?>
<?if(len($MESSAGE$) - strrpos($MESSAGE$,'_x_Polus9') - 9 > 2)?>
<?if(strrpos($MESSAGE$,'_x_Polus9')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus9') + 10,len($MESSAGE$) - strrpos($MESSAGE$,'_x_Polus9'))?><?endif?><?endif?>



Если код выше немного не понятен, объясняю на примере:
Code
<?if(strrpos($MESSAGE$,'us1 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_Polus1')>2)?>
  <?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus1') + 10,strrpos($MESSAGE$,'_x_Polus2') - strrpos($MESSAGE$,'_x_Polus1') - 10)?>
  <?endif?><?endif?>


Этот код будет выдавать информацию из 1 доп. поля
Уяснили? Можете менять их местами или некоторые убрать и т.п.
Если хотя бы одно поле было заполнено, а другие нет
То там где выводится информация из пустых доп. полей будет написано ПУСТО
В коде вы должны убрать эти надписи или переименовать на свои - сделал для удобства..

Отобразить как ссылку или картинку
В общем-то и всё, надеюсь всё понятно.

Вопросы и проблему по поводу хака пишем сюда - /forum/19-41-1

Удачи, установка ниже - это установка кому нужно более 10 полей - а именно 19 шт.





Установка 19 Полей:

Если вы раньше использовали хак версия 2, и решили перейти на хак - версия 3,
То сначала удаляем скрипты старой версии хака,
И затем редактируем материалы с доп. полями, так чтобы вместо Polus было PS
Так как PS на 3 символа меньше..

1) Если поля делаем для модуля "Новости", то код ниже вставляем в "Архив новостей" перед </body>

А если в другой модуль ,то на
"Странице добавления и редактирования" нужного модуля перед </body> ставим:
Code
<?if($PAGE_ID$='add')?>  
<script>  
var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9', 'Н#10', 'Н#11', 'Н#12', 'Н#13', 'Н#14', 'Н#15', 'Н#16', 'Н#17', 'Н#18', 'Н#19'], num_names = names.length, num = num_names, element = $('#МЕНЯТЬ');  
for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);
for(j=1;j<20;j++) {  
$('#farr'+j).append('<input id="apodp'+j+'" style="width:100%;background:white;" />');  
}  
$('.manFlSbm:last').click(function() {  
  for(i=1;i<20;i++) {  
$('#message:last').val($('#message').val() + '_x_PS'+i+' '+ $('#apodp' + i).val());  

}  
});  
</script>  
<?endif?>  
<?if($PAGE_ID$='edit')?>  
<script>  
var aratr = $('#message').html().replace('_x_PS2',' aXxXa'), afr = 2, madas = [], madas = aratr.split(' '), razam = madas.length;  
for(g=0;g<razam;g++){if(madas[g]=='aXxXa'){var afr = 1;}}
if(afr=='1'){  
var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9', 'Н#10', 'Н#11', 'Н#12', 'Н#13', 'Н#14', 'Н#15', 'Н#16', 'Н#17', 'Н#18', 'Н#19'], num_names = names.length, num = num_names, element = $('#МЕНЯТЬ');  
for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);
var text = document.getElementById("message");  
var content = text.innerHTML;  
var mas = new Array();  
mas = content.split("_x_");  
var razm =mas.length;  
var artt=mas[0];  
document.getElementById('message').innerHTML = artt;  
for (var i=1; i<razm;i++){  
var afr=mas[i];  
var afrq=afr.replace('PS'+i+' ','');  
if(afrq=='PS19') {var afrq='';}
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');  
}  
// Site Author Novi4ok.Ru  
$('.manFlSbm:last').click(function() {  
  for(i=1;i<20;i++) {  
$('#message:last').val($('#message').val() + '_x_PS'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  
}  
});  
}else {  
var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9', 'Н#10', 'Н#11', 'Н#12', 'Н#13', 'Н#14', 'Н#15', 'Н#16', 'Н#17', 'Н#18', 'Н#19'], num_names = names.length, num = num_names, element = $('#МЕНЯТЬ');  
for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);
for(j=1;j<20;j++) {  
$('#farr'+j).append('<input id="apodp'+j+'" style="width:100%;background:white;" />');  
}  
$('.manFlSbm:last').click(function() {  
for(i=1;i<20;i++) {  
$('#message:last').val($('#message').val() + '_x_PS'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  
}  
});  
}  
</script>  
<?endif?>


Ищем в скрипте 3 слова МЕНЯТЬ и заменяем в соответствии с модулем:
Новости - nwM22
Каталог файлов - ldM8
Статьи - puM8
Блог - blM22
Доска объявлений - bdM8

Для модуля "Онлайн игры" код выше не подходит, так как там немного по-другому

Для этого модуля вставляем такой код в "Страницу добавления и редактирования"
(для других модулей его вставлять не надо):
Code
<?if($PAGE_ID$='add')?>
  <script>
var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9', 'Н#10', 'Н#11', 'Н#12', 'Н#13', 'Н#14', 'Н#15', 'Н#16', 'Н#17', 'Н#18', 'Н#19'], num_names = names.length, num = num_names, element = $('#txtPart555message');
  for(i=1;i<num;i++){var gp = gp + '<table width="100%"><tr class="tewrt"><td id="rra'+i+'" width="40%">'+names[i]+'</td><td id="farr'+i+'"><input id="apodp'+i+'" style="width:100%;background:white;" /></td></tr></table>';} element.after(gp);  
  $('.manFlSbm:last').click(function() {for(i=1;i<20;i++) { $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val()); } });
  </script>
  <?endif?>
  <?if($PAGE_ID$='edit')?>
  <script>
  var aratr = $('#message').html().replace('_x_Polus2',' aXxXa'), afr = 2, madas = [], madas = aratr.split(' '), razam = madas.length;
  for(g=0;g<razam;g++){if(madas[g]=='aXxXa'){var afr = 1;}}  
  if(afr=='1'){
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9', 'Н#10', 'Н#11', 'Н#12', 'Н#13', 'Н#14', 'Н#15', 'Н#16', 'Н#17', 'Н#18', 'Н#19'], num_names = names.length, num = num_names, element = $('#txtPart555message');
  for(i=1;i<num;i++){var gp = gp + '<table><tr class="tewrt"><td id="rra'+i+'" width="40%">'+names[i]+'</td><td id="farr'+i+'"></td></tr></table>';} element.after(gp);  
  var text = document.getElementById("message");
  var content = text.innerHTML;
  var mas = new Array();
  mas = content.split("_x_");
  var razm =mas.length;
  var artt=mas[0];
  document.getElementById('message').innerHTML = artt;
  for (var i=1; i<razm;i++){
  var afr=mas[i];
  var afrq=afr.replace('Polus'+i+' ','');
  if(afrq=='Polus19') {var afrq='';}  
  $("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');
  }
  $('.manFlSbm:last').click(function() {
  for(i=1;i<20;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());
  $('#rra' + i).remove()
  $('#farr' + i).remove()}});}else{
  var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#txtPart555message');
  for(i=1;i<num;i++){var gp = gp + '<Table width="100%"><tr class="tewrt"><td id="rra'+i+'" width="40%">'+names[i]+'</td><td id="farr'+i+'"><input id="apodp'+i+'" style="width:100%;background:white;" /></td></tr></table>';} element.after(gp);  
  $('.manFlSbm:last').click(function() {
  for(i=1;i<20;i++) {
  $('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());
  $('#rra' + i).remove()
  $('#farr' + i).remove()
  }});}
  </script>
  <?endif?>


Можете сразу отредактировать название поля (то что слева отображается)

Для этого - ищем 3 повтора "Н#1" и меняем под себя и так с остальными т.д.

2) Заходим в
Управление дизайном » Модуль(Каталог файлов) » Страница материала и коммен. к нему
Ищем $MESSAGE$ и заменяем на этот код:
Code
  
  <?if(strrpos($MESSAGE$,'_x_PS1')>0)?>
  <?substr($MESSAGE$,0,strrpos($MESSAGE$,'_x_PS1 '))?>  
<?else?>  
$MESSAGE$  
<?endif?>


Теперь там где хотим видеть информацию из доп. полей ставим:
Code

<?if(strrpos($MESSAGE$,'PS1 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS1 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS1 ') + 7,strrpos($MESSAGE$,'_x_PS2') - strrpos($MESSAGE$,'_x_PS1 ') - 7)?>  
<?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'PS2 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS2 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS2') + 7,strrpos($MESSAGE$,'_x_PS3') - strrpos($MESSAGE$,'_x_PS2') - 7)?>  
<?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'PS3 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS3 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS3') + 7,strrpos($MESSAGE$,'_x_PS4') - strrpos($MESSAGE$,'_x_PS3') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS4 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS4 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS4') + 7,strrpos($MESSAGE$,'_x_PS5') - strrpos($MESSAGE$,'_x_PS4') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS5 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS5 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS5') + 7,strrpos($MESSAGE$,'_x_PS6') - strrpos($MESSAGE$,'_x_PS5') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS6 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS6 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS6') + 7,strrpos($MESSAGE$,'_x_PS7') - strrpos($MESSAGE$,'_x_PS6') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS7 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS7 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS7') + 7,strrpos($MESSAGE$,'_x_PS8') - strrpos($MESSAGE$,'_x_PS7') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS8 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS8 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS8') + 7,strrpos($MESSAGE$,'_x_PS9') - strrpos($MESSAGE$,'_x_PS8') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS9 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS9 ')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS9') + 7,strrpos($MESSAGE$,'_x_PS10') - strrpos($MESSAGE$,'_x_PS9') - 7)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS10 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS10')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS10') + 8,strrpos($MESSAGE$,'_x_PS11') - strrpos($MESSAGE$,'_x_PS10') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS11 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS11')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS11') + 8,strrpos($MESSAGE$,'_x_PS12') - strrpos($MESSAGE$,'_x_PS11') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS12 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS12')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS12') + 8,strrpos($MESSAGE$,'_x_PS13') - strrpos($MESSAGE$,'_x_PS12') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS13 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS13')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS13') + 8,strrpos($MESSAGE$,'_x_PS14') - strrpos($MESSAGE$,'_x_PS13') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS14 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS14')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS14') + 8,strrpos($MESSAGE$,'_x_PS15') - strrpos($MESSAGE$,'_x_PS14') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS15 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS15')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS15') + 8,strrpos($MESSAGE$,'_x_PS16') - strrpos($MESSAGE$,'_x_PS15') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS16 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS16')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS16') + 8,strrpos($MESSAGE$,'_x_PS17') - strrpos($MESSAGE$,'_x_PS16') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS17 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS17')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS17') + 8,strrpos($MESSAGE$,'_x_PS18') - strrpos($MESSAGE$,'_x_PS17') - 8)?>  
<?endif?><?endif?>

<?if(strrpos($MESSAGE$,'PS18 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS18')>2)?>  
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS18') + 8,strrpos($MESSAGE$,'_x_PS19') - strrpos($MESSAGE$,'_x_PS18') - 8)?>  
<?endif?><?endif?>

<?if(len($MESSAGE$) - strrpos($MESSAGE$,'_x_PS19') - 7 = 0)?><?if(len($MESSAGE$) - strrpos($MESSAGE$,'_x_PS19') - 8 = 0)?>ПУСТО<?else?>ПУСТО<?else?><?endif?><?endif?>
<?if(len($MESSAGE$) - strrpos($MESSAGE$,'_x_PS19') - 7 > 2)?>
<?if(strrpos($MESSAGE$,'_x_PS19')>2)?>
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS19') + 8,len($MESSAGE$) - strrpos($MESSAGE$,'_x_PS19'))?><?endif?><?endif?>


Если хотя бы одно поле было заполнено, а другие нет
То там где выводится информация из пустых доп. полей будет написано ПУСТО
В коде вы должны убрать эти надписи или переименовать на свои - сделал для удобства..




ВЕРСИЯ БЕЗ JS:

1)
Если всё же вы сделали всё так как надо, но не работает так как надо,
Или вовсе не работает, и вам так и хочется написать админу - "НЕ РАБОТАЕТ"
Вы можете пользоваться хаком вручную:

В конце после того как вы запонили полное описание,
Вы копируете каждый раз этот код:
Code
_PS1 _PS2 _PS3 _PS4 _PS5 _PS6 _PS7 _PS8 _PS9


И если вам первое доп. поле нужно например для такой ссылки: http://vk.com
Дописываете так:
Code
_PS1 http://vk.com _PS2 _PS3 _PS4 _PS5 _PS6 _PS7 _PS8 _PS9


Уяснили?? Если да то всё отлично)
Так и с остальными полями, пустые лучше не стирать..
Можете где-нибудь написать код выше, или запомнить..

2) Заходим в
Управление дизайном » Модуль(Каталог файлов) » Страница материала и коммен. к нему
Ищем $MESSAGE$ и заменяем на этот код:
Code
<?if(strrpos($MESSAGE$,'_PS1 ')>=1)?>
<?substr($MESSAGE$,0,strrpos($MESSAGE$,'_PS1 '))?>
<?else?>
$MESSAGE$
<?endif?>


Теперь там где хотим видеть информацию из доп. полей ставим:
Code


<?if(strrpos($MESSAGE$,'_PS1 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS1 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS1 ') + 5,strrpos($MESSAGE$,'_PS2') - strrpos($MESSAGE$,'_PS1 ') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS2 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS2 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS2') + 5,strrpos($MESSAGE$,'_PS3') - strrpos($MESSAGE$,'_PS2') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS3 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS3 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS3') + 5,strrpos($MESSAGE$,'_PS4') - strrpos($MESSAGE$,'_PS3') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS4 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS4 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS4') + 5,strrpos($MESSAGE$,'_PS5') - strrpos($MESSAGE$,'_PS4') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS5 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS5 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS5') + 5,strrpos($MESSAGE$,'_PS6') - strrpos($MESSAGE$,'_PS5') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS6 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS6 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS6') + 5,strrpos($MESSAGE$,'_PS7') - strrpos($MESSAGE$,'_PS6') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS7 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS7 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS7') + 5,strrpos($MESSAGE$,'_PS8') - strrpos($MESSAGE$,'_PS7') - 5)?><?endif?><?endif?>  

<?if(strrpos($MESSAGE$,'_PS8 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_PS8 ')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS8') + 5,strrpos($MESSAGE$,'_PS9') - strrpos($MESSAGE$,'_PS8') - 5)?><?endif?><?endif?>  

<?if(len($MESSAGE$) - strrpos($MESSAGE$,'_PS9') - 4 = 0)?><?if(len($MESSAGE$) - strrpos($MESSAGE$,'_PS9') - 5 = 0)?>ПУСТО<?else?>ПУСТО<?else?><?endif?><?endif?>
<?if(len($MESSAGE$) - strrpos($MESSAGE$,'_PS9') - 4 > 2)?><?if(strrpos($MESSAGE$,'_PS9')>2)?><?substr($MESSAGE$,strrpos($MESSAGE$,'_PS9') + 5,len($MESSAGE$) - strrpos($MESSAGE$,'_PS9'))?><?endif?><?endif?>


И теперь будет работать как часы))

Если хотя бы одно поле было заполнено, а другие нет
То там где выводится информация из пустых доп. полей будет написано ПУСТО
В коде вы должны убрать эти надписи или переименовать на свои - сделал для удобства..

Обсуждение проблем и ответы на вопросы с этим хаком - ПЕРЕЙТИ

Удачи


Спонсор :



Источник: /
Всего голосов: ... | ... | ...

Всего комментариев: 4
Hаписал: tartar01 , 12.12.2012 Среда 02:59 Сообщение #1
tartar01
OFFLINE
+ 1 -

Работает!!! :) :) :) :) :) :) :)

Hаписал: DIGER2 , 18.12.2012 Вторник 18:51 Сообщение #2
DIGER2
OFFLINE
+ 0 -

Fatal1ti, как сделать, чтобы заполненные поля отображались и на виде материалов?

Hаписал: Fatal1ti , 18.12.2012 Вторник 19:05 Сообщение #3
Fatal1ti
Администратор
OFFLINE
+ 0 -

Обновил материал - исправил ошибки, и теперь есть такое условие:
Если доп.полей пустое то информацию связанную с этим полем можно скрыть

То есть вы использовали хак так: <img src="$КОД$">
И если поле пустое, то было вот это лишнее: <img src="">

А сейчас можно скрыть <img src="">

Через 5 минут выложу как прикрутить хак к виду материалов, но на форуме

Hаписал: Fatal1ti , 18.12.2012 Вторник 19:34 Сообщение #4
Fatal1ti
Администратор
OFFLINE
+ 0 -

Всё, отписался на форуме :)

Информация


Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.
Пожалуйста войдите на сайт как пользователь или зарегистрируйтесь.

Логотип сайта:
Навигация
Мини-чат
Витрина Активистов
Опрос
Нужно ли модернизировать сайт?

Всего ответов: 205
Последние комментарии
  • Fatal1ti
    Оставлен 05.02.2013
    50+ качественных анимированных иконок загрузки для сайта
    Автор комментария: Fatal1ti
    Оставлен 05.02.2013 в 16:19
    Тема: 50+ качественных анимированных иконок загрузки для сайта
    Это просто gif картинки,
    А чтобы при загрузке страницы крутилась анимация, нужен скрипт
  • sasha26
    Оставлен 04.02.2013
    Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    Автор комментария: sasha26
    Оставлен 04.02.2013 в 12:43
    Тема: Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    С цветами разобрался, пришлось путь к файлу zvetaf.xml полностью писать.
  • sasha26
    Оставлен 04.02.2013
    Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    Автор комментария: sasha26
    Оставлен 04.02.2013 в 12:32
    Тема: Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    Что-то окно с цветами начинает открываться и сразу же пропадает.
    А как можно чат растянуть по высоте с 300рх до 500рх, где это меняется?
  • Mihail
    Оставлен 01.02.2013
    Замена alert на ajax окно с прямой ссылки к сообщению на форуме
    Автор комментария: Mihail
    Оставлен 01.02.2013 в 17:12
    Тема: Замена alert на ajax окно с прямой ссылки к сообщению на форуме
    А вот это супер )
  • Fatal1ti
    Оставлен 31.01.2013
    Форма добавления комментариев как на dle для uCoz
    Автор комментария: Fatal1ti
    Оставлен 31.01.2013 в 18:23
    Тема: Форма добавления комментариев как на dle для uCoz
    Должно работать, у некоторых файл zvetaf.xml
    Повреждается при загрузке, попробуй его перезалить

    Если ничего не изменяется, то ищи в коде такую строчку:
    Код
    <img src="http:/bbcodes/color.gif" id="kmn" title="Выбрать цвет" onclick="openLayerB('sda',0,'/bbcodes/zvetaf.xml','Выбор цвета',190,200,'1','','',0,'justify');return false;">


    И меняй на эту:
    Код
    <script type="text/javascript" src="http:/serv/zvet.js"></script>
    <img src="http:/bbcodes/color.gif" id="kmn" title="Выбрать цвет" onclick="viewzvet()">

    Должно заработать..
  • Fatal1ti
    Оставлен 27.01.2013
    Зелёное меню как на we-place для uCoz
    Автор комментария: Fatal1ti
    Оставлен 27.01.2013 в 15:05
    Тема: Зелёное меню как на we-place для uCoz
    DevilShadow, извини что сразу не ответил
    Чтобы счетчики были справа нужно в css найти такую строчку:
    Код
    .coole div {position: relative;margin-left: 173px;z-index: 1;}

    И заменить на эту
    Код
    .coole div {position: relative;margin-left: 219px;z-index: 1;}


    А чтобы и фото счетчик был, нужно после этой строчки:
    Код
    <script type="text/javascript" src="http://worldinfo.my1.ru//informer/6"></script>

    Добавить эту:
    Код
    <script type="text/javascript" src="http://worldinfo.my1.ru//informer/7"></script>


    И после скрипта, который находится снизу после меню, добавь ещё скрипт:
    Код
    <script type="text/javascript">  
      function setCatNumEnt(){  
      if(!window.uCatsOut)return;  
      $('div.naviglot a').each(function(){  
      var a=this,ah=a.href,cArr=window.uCatsOut;  
      if(!/\/photo\//.test(ah))return;  
      var t=ah.split('/'),id=t[t.length-1]||t[t.length-2],a=$(a).parent();  
      if(!isNaN(id)){  
      $.each(cArr,function(j){  
      if(cArr[j][0]==id){  
      a.prepend('</span><div class="coole"><div><span class="vnav-subnav2">'+cArr[j][6]+'</span></div></div>');  
      }  
      });  
      };  
      });  
      };setCatNumEnt();
      </script>
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня зашли на сайт
0 пользователя

Новых пользователей:
За месяц: 17
За неделю: 6
Вчера: 0
Сегодня: 0
У нас нашли
Загрузка...
Друзья сайта
Наш Баннер
Всё для новичков
Всё для новичков