О нас Форум Баннеры RSS картинка Нас уже 577, Присоединяйся
Страница 1 из 41234»
Модератор форума: bR[a]tko 
Форум » uCoz » Помощь по uCoz » Хак версия 3 - Дополнительные поля (Вопросы и ответы по поводу хака версия 3-Дополнительные поля)
Хак версия 3 - Дополнительные поля
Fatal1tiДата: Среда, 12.12.2012, 11:44 | Сообщение # 1
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline


Создал эту тему, что тех у кого возникают какие-либо проблемы или вопросы.
Так постоянно возникают проблемы, возможно прочитав эту тему - вы надёте ответ.

Ссылка на хак - /load/19-1-0-287

Постарайтесь более подробно описать свою проблему или вопрос,
От этого зависит точность и время ответа..


Администратор
AltNetДата: Суббота, 15.12.2012, 13:21 | Сообщение # 2
Сообщений:13
Награды:0
Репутация: 0
Статус:Offline
Привет. Помоги решить проблему. Как сделать, чтобы не выводились поля которые не заполнены?
Просто у меня такая ситуация, что в одних новостях мне нужно больше полей, в других меньше, а именно у меня выводятся иконки флагов стран таким способом:
Code
<?if(strrpos($MESSAGE$,'_x_Polus5')>2)?><img src="/img/flag/<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus5') + 10,strrpos($MESSAGE$,'_x_Polus6') - strrpos($MESSAGE$,'_x_Polus5') - 10)?>.png" border="0" align="absmiddle" />
<?endif?>

И получается, что те поля которые я не заполнил, выводятся как пустые картинки..
Можно конечно создать однопиксельную прозрачную картинку и в ненужных полях её прописывать, но это будет какое-то извращение))


Сообщение отредактировал AltNet - Суббота, 15.12.2012, 13:28
Пользователь
Fatal1tiДата: Суббота, 15.12.2012, 13:40 | Сообщение # 3
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline
Привет, мм.. если я правильно понял то наверно это будет так:
Code
<?if(strrpos($MESSAGE$,'_x_Polus5 _x_')>1)?><?else?><?if(strrpos($MESSAGE$,'_x_Polus5')>2)?><img src="/img/flag/<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_Polus5') + 10,strrpos($MESSAGE$,'_x_Polus6') - strrpos($MESSAGE$,'_x_Polus5') - 10)?>.png" border="0" align="absmiddle" />  
<?endif?><?endif?>


То есть тут есть такое условие:
Code
<?if(strrpos($MESSAGE$,'_x_Polus5 _x_')>1)?>ПУСТО<?else?>ТУТ ЧТО-ТО есть<?endif?>


Это для 5 поля
Вот для первого условие:
Code
<?if(strrpos($MESSAGE$,'_x_Polus1 _x_')>1)?>ПУСТО<?else?>ТУТ ЧТО-ТО есть<?endif?>


Думаю понятно


Администратор
AltNetДата: Суббота, 15.12.2012, 21:26 | Сообщение # 4
Сообщений:13
Награды:0
Репутация: 0
Статус:Offline
Всё отлично работает!! Спасибо, уважаю таких головастых! =)

Добавлено (15.12.2012, 17:12)
---------------------------------------------
Ещё вопрос. Можно ли вывести содержимое этих полей в кратком описании?

Добавлено (15.12.2012, 21:26)
---------------------------------------------
АП! Извините =)
Просто я попытался вывести, но ничего не отобразилось. Печалька =(

Пользователь
Fatal1tiДата: Понедельник, 17.12.2012, 12:22 | Сообщение # 5
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline
мм... ну да, немного переделать скрипт и это будет возможно
Немного попозже выложу, а то сейчас занят немного


Администратор
Fatal1tiДата: Вторник, 18.12.2012, 19:27 | Сообщение # 6
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline
AltNet, Вот на скорую руку переделал скрипт, вроде как работает
И сразу туда добавил условие, которое некоторым было очень нужно

Установка:
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());  
$('#brief:last').val($('#brief').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 eqeeq = document.getElementById("brief");  
var eqent = eqeeq.innerHTML;  
var moas = new Array();  
moas = eqent.split("_x_Polus1");  
document.getElementById('brief').innerHTML = moas[0];

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());  
$('#brief:last').val($('#brief').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());  
$('#brief:last').val($('#brief').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  
}  
});  
}  
</script>  
<?endif?>


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

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?>  


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

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?>  


ПУСТО - меняем или стираем

Вроде всё, если что не так - сразу отписываемся тут - на форуме


Администратор
DIGER2Дата: Вторник, 18.12.2012, 19:46 | Сообщение # 7
Сообщений:1
Награды:0
Репутация: 0
Статус:Offline
проверил, все отлично работает, оба варианта.
Пользователь
AltNetДата: Вторник, 18.12.2012, 22:32 | Сообщение # 8
Сообщений:13
Награды:0
Репутация: 0
Статус:Offline
Fatal1ti, спасибо!! Работает! =)
Обожаю твой сайт, в отличии от других сайтов, ты всегда грамотно помогаешь с первого раза =)
Пользователь
SergeySДата: Понедельник, 24.12.2012, 02:32 | Сообщение # 9
Сообщений:18
Награды:0
Репутация: 0
Статус:Offline
Вопрос к Fatal1ti
Плиз, а как правильно записать значение поля без условных операторов, чтобы например можно было вставить как адрес ссылки, просто текст или код, то есть вместо
<?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?>
просто значение отдельного поля. Что бы условия самому записать где надо.
Или если не трудно немного подробнее прояснить для слабаков, что есть что и как работает.
С уважением,

Добавлено (24.12.2012, 02:32)
---------------------------------------------
И еще:
я использую дополнительные поля для модуля Игры, пытаюсь переделать 19 полей и добавить 29. Вроде все получается, но значение вылазят с добавленными _x_PS2 _x_PS3 _x_PS4.
Вопрос по коду

<?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?>

То что вот эта, третья часть, var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9']
только до 9 полей это правильно или ошибка ?

И еще, в части скрипта для <?if($PAGE_ID$='add')?>
стоит <table> вместо <table width="100%">
что при редактировании коверкает расположение полей

При возврате к редактированию (при настройке Тип формы по умолчанию для редактирования материалов ВИЗУАЛЬНЫЙ РЕДАКТОР) все работает, но заполняет Полный текст материала что то в виде "_x_PS1 центр_x_PS2 _x_PS3 рядом_x_PS4 наличные № и одновременно созданные поля Приходится это каждый раз удалять. Если это возможно побороть, то не обязательно привязываться к настройкам типа формы. Но это наверное невозможно...

Со значениями вроде разобрался при 19 полях. Получается довольно большой участок кода, но зато он есть! - За что большое спасибо автору...

Если б еще можно было сделать на 29 или лучше 39 полей? Или хотя бы подсказать, что исправить. а то я попытался, но что то не получилось...А это надо для характеристики торговых точек. Поля для ссылок на описания разных товаров, прилавков, на персонал, на точки сети, карту и т.п. и не хватает 19 - ти. С благодарностью..
.


Ученье - свет, а неученье, чуть свет - на работу..

Сообщение отредактировал SergeyS - Понедельник, 24.12.2012, 18:19
Пользователь
AltNetДата: Понедельник, 24.12.2012, 23:52 | Сообщение # 10
Сообщений:13
Награды:0
Репутация: 0
Статус:Offline
Fatal1ti, могёшь ещё закодить, чтобы выводило в "результатах поиска по тегам"? =)
Пользователь
Fatal1tiДата: Среда, 26.12.2012, 13:58 | Сообщение # 11
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline
SergeyS, что-то я не совсем понял эту фразу:
Цитата
например можно было вставить как адрес ссылки


Но возможно вот ответ на вопрос:
Код
<?if(strrpos($MESSAGE$,'PS1 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS1 ')>2)?>  
<a href="<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS1 ') + 7,strrpos($MESSAGE$,'_x_PS2') - strrpos($MESSAGE$,'_x_PS1 ') - 7)?>">Тут название ссылки</a>
<?endif?><?endif?>

В данном коде будет выводиться ссылка если доп.поле заполнено
И адресом ссылки будет то что было введено при добавлении материала в доп. поле

Для 29 полей нужно переделать код,
А и ещё - чем больше полей,
Тем меньше символов можно ввести в доп.поля.
Ну ввести то легко будет, но скрипт не сможет выводить инфо из первых доп.полей
Код
<?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', 'Н#20', 'Н#21', 'Н#22', 'Н#23', 'Н#24', 'Н#25', 'Н#26', 'Н#27', 'Н#28', 'Н#29'], 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<30;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', 'Н#20', 'Н#21', 'Н#22', 'Н#23', 'Н#24', 'Н#25', 'Н#26', 'Н#27', 'Н#28', 'Н#29'], 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=='Polus29') {var afrq='';}  
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');  
}  
$('.manFlSbm:last').click(function() {  
for(i=1;i<30;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', 'Н#10', 'Н#11', 'Н#12', 'Н#13', 'Н#14', 'Н#15', 'Н#16', 'Н#17', 'Н#18', 'Н#19', 'Н#20', 'Н#21', 'Н#22', 'Н#23', 'Н#24', 'Н#25', 'Н#26', 'Н#27', 'Н#28', 'Н#29'], 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<30;i++) {  
$('#message:last').val($('#message').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  
}});}  
</script>  
<?endif?>


Вроде вот так..


Администратор
SergeySДата: Четверг, 27.12.2012, 00:07 | Сообщение # 12
Сообщений:18
Награды:0
Репутация: 0
Статус:Offline
Fatal1ti,
Спасибо,
Насчет ссылки с учетом условий у меня работает такой код:
Код
<?if(strrpos($MESSAGE$,'PS1 _x_'))?><?if(strrpos($MESSAGE$,'PS1 _x_')>1)?><?else?><?if(strrpos($MESSAGE$,'_x_PS1 ')>2)?> <a href="<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS1 ') + 7,strrpos($MESSAGE$,'_x_PS2') - strrpos($MESSAGE$,'_x_PS1 ') - 7)?>"> ЗАГЛАВИЕ</a>     
<?endif?><?endif?><?endif?>

Чтобы отразить просто значение ставлю
Код
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS1 ') + 7,strrpos($MESSAGE$,'_x_PS2') - strrpos($MESSAGE$,'_x_PS1 ') - 7)?>


Так сказать методом проб и ошибок...

Насчет 29 полей, спасибо. Есть пара уточнений:
В коде должно быть Polus или PS
Но главное мне бы правильно последний фрагмент кода для вывода значений поля 29. Там такие же -7 и +8 ? и просто вместо 19 будет 29?

<?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?>

А насчет количества, то значения в основном короткие.
Но все же интересно - 1000 знаков это как- то установлено системой и его нельзя увеличивать?
Я думал, что вот этот момент
Цитата
element = $('#txtPart555message')
значит, что потенциально поле основного материала разбивается на 555 частей. Это как догадка...

Кстати, при визуальном редакторе корректно все работает, за исключением что при редактировании надо каждый раз удалять с поля основного материала... И если исправить <table> на <table width="100%"> для стр. редактирования...

А вообще мне твоя разработка очень помогла...Премного благодарен..


Ученье - свет, а неученье, чуть свет - на работу..

Сообщение отредактировал SergeyS - Четверг, 27.12.2012, 00:08
Пользователь
Fatal1tiДата: Четверг, 27.12.2012, 11:24 | Сообщение # 13
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline
SergeyS, вот код для PS
Код
<?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', 'Н#20', 'Н#21', 'Н#22', 'Н#23', 'Н#24', 'Н#25', 'Н#26', 'Н#27', 'Н#28', 'Н#29'], 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<30;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', 'Н#20', 'Н#21', 'Н#22', 'Н#23', 'Н#24', 'Н#25', 'Н#26', 'Н#27', 'Н#28', 'Н#29'], 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('PS'+i+' ','');     
if(afrq=='PS29') {var afrq='';}     
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');     
}     
$('.manFlSbm:last').click(function() {     
for(i=1;i<30;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', 'Н#20', 'Н#21', 'Н#22', 'Н#23', 'Н#24', 'Н#25', 'Н#26', 'Н#27', 'Н#28', 'Н#29'], 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<30;i++) {     
$('#message:last').val($('#message').val() + '_x_PS'+i+' '+ $('#apodp' + i).val());     
$('#rra' + i).remove()     
$('#farr' + i).remove()     
}});}     
</script>     
<?endif?>


А вот код для вызова, тут и для 29 есть:
Код

<?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(strrpos($MESSAGE$,'PS19 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS19')>2)?>       
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS19') + 8,strrpos($MESSAGE$,'_x_PS20') - strrpos($MESSAGE$,'_x_PS19') - 8)?>       
<?endif?><?endif?>      

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

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

<?if(strrpos($MESSAGE$,'PS22 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS22 ')>2)?>     
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS2') + 8,strrpos($MESSAGE$,'_x_PS23') - strrpos($MESSAGE$,'_x_PS22') - 8)?>       
<?endif?><?endif?>       

<?if(strrpos($MESSAGE$,'PS23 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS23 ')>2)?>       
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS3') + 8,strrpos($MESSAGE$,'_x_PS24') - strrpos($MESSAGE$,'_x_PS23') - 8)?>       
<?endif?><?endif?>      

<?if(strrpos($MESSAGE$,'PS24 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS24 ')>2)?>       
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS4') + 8,strrpos($MESSAGE$,'_x_PS25') - strrpos($MESSAGE$,'_x_PS24') - 8)?>       
<?endif?><?endif?>      
     
<?if(strrpos($MESSAGE$,'PS25 _x_')>1)?>ПУСТО<?else?><?if(strrpos($MESSAGE$,'_x_PS25 ')>2)?>       
<?substr($MESSAGE$,strrpos($MESSAGE$,'_x_PS25') + 8,strrpos($MESSAGE$,'_x_PS26') - strrpos($MESSAGE$,'_x_PS25') - 8)?>       
<?endif?><?endif?>      

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

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

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

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


Насчёт txtPart555message скажу, что не правильная догадка.
txtPart555message - нужно лишь чтобы доп.поля появлялись под таблице с таким id

Увеличить до 2000 символов я конечно могу -
Но придётся тогда увеличить код вывода в 3 раза или в 2 минимум..


Администратор
AltNetДата: Четверг, 27.12.2012, 12:55 | Сообщение # 14
Сообщений:13
Награды:0
Репутация: 0
Статус:Offline
Fatal1ti, привет!
Помоги пожалуйста.
Смотри, мне надо чтобы в результатах поиска по тегам (Поиск по сайту > Вид материалов) выводилась информация с операторов $READS$, $DATE$, $RATED$, $COMMENTS_NUM$, $OTHER3$ и т.д., но так как в этом шаблоне они не работают, я сделал вывод этим скриптом (тестил на "дате добавления"):

1. В "виде материала поиска" в нужное место вставляю:
<div id="date$ID$"></div>

2. Там же в самый конец вставляю:
<script type="text/javascript">$('div#date$ID$').load('$ENTRY_URL$ .dates');</script>

3. Дальше в шаблоне "Новости сайта > Страница материала и комментариев к нему" заменяю $ADD_DATE$ на:
<span class="dates">$ADD_DATE$</span>
----------------------
НО когда я смотрю результаты поиска по теам, он выводит неправильные даты и ещё после F5 пишет, то одни, то другие даты.. Подскажи, в чём проблема?

Добавлено (27.12.2012, 12:55)
---------------------------------------------
Этот глюк, кстати, происходит только, если результатов поиска больше одного...

Пользователь
Fatal1tiДата: Четверг, 27.12.2012, 13:01 | Сообщение # 15
Сообщений:79
Награды:9
Репутация: 96
Статус:Offline
AltNet, в виде материалов поиска код $ID$ не работает
Но есть альтернатива:
Код
<div id="<?substr($ENTRY_URL$,strrpos($ENTRY_URL$,'-')+1,len($ENTRY_URL$)-strrpos($ENTRY_URL$,'-')-1)?>"></div>


Код выше нужно в вид материалов поиска
И ещё код ниже вставить
Код
<script type="text/javascript">$('div#date<?substr($ENTRY_URL$,strrpos($ENTRY_URL$,'-')+1,len($ENTRY_URL$)-strrpos($ENTRY_URL$,'-')-1)?>').load('$ENTRY_URL$ .dates');</script>


Вот так вроде должно работать - отпишись потом


Администратор
Форум » uCoz » Помощь по uCoz » Хак версия 3 - Дополнительные поля (Вопросы и ответы по поводу хака версия 3-Дополнительные поля)
Страница 1 из 41234»
Поиск: