• Страница 2 из 2
  • «
  • 1
  • 2
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » vinni [19]
Результаты поиска
Дата: Среда, 20.08.2014, 08:40 | Сообщение #16 | Тема: Как сделать ... ? Вопросы только по операторам юКоз (uCoz)
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Цитата
$_BIRTHDAY$ Как вытащить, по отдельности: месяц, год и дату (Решение на условных операторах)

*Челодлань*. Вот блин... Да, надо было немного разнообразить поисковой запрос.))


 
Дата: Среда, 20.08.2014, 08:45 | Сообщение #17 | Тема: Ликбезз по юкоз API
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, интересно. Сейчас активно юзать пытаюсь.) Жаль в модуле видео пока не предусмотрено.

У меня четыре вопроса назрело, надеюсь поможешь.

Речь идет про твой скрипт:

Код
function getXml(url,id,num){  
if(url){var url=url,cont=document.getElementById(id),tmp='';  
$.ajax({type:'GET',url:url,  
beforeSend:function(){cont.innerHTML='<img src="http://likbezz.ru/_source/_ico/loader/aj2.gif" alt="" />';},  
success:function(d){  
var n=d.getElementsByTagName('name'),j=num;  
var obj={TITLE:[],MESSAGE:[],ENTRY_URL:[],CATEGORY_NAME:[],CATEGORY_URL:[]};  
$.each(n,function(i,n){var o=$(n).text(),v=$(n.nextSibling.firstChild).text();  
if(o=='TITLE')obj.TITLE.push(v);  
if(o=='MESSAGE')obj.MESSAGE.push(v);  
if(o=='ENTRY_URL')obj.ENTRY_URL.push(v);  
if(o=='CATEGORY_NAME')obj.CATEGORY_NAME.push(v);  
if(o=='CATEGORY_URL')obj.CATEGORY_URL.push(v);  
});  
$.each(obj.TITLE,function(i){  
if(i<j){  
tmp+=['<h4><a href="'+obj.ENTRY_URL[i]+'">',obj.TITLE[i],'</a></h4>',obj.MESSAGE[i],'<br /><br />'].join('');  
}  
});  
cont.innerHTML=tmp;  
},  
error:function(a,b){if(b=='error'){cont.innerHTML='<b style="color:#F33;">Извините, но произошла ошибка: «'+a.status+'» '+a.statusText+'!</b>';}}  
});};};


1.) Просмотрел "список возвращаемых данных". img (img1,2,3,т.д.) не предусмотрено, я правильно понял?
И если нет... Как картинку поймать от новости?)

2.) Тянем данные с главной новостей

Код
<script>getXml('/api/news/','container',5);</script>


Все круто, но выводится ровно столько материалов - сколько задано в настройках модуля на главной странице. В нашем случае 9. Нашел коммент с этой же проблемой в описании api на юкозвских мануалах. Вопрос так и не решился. Как это обойти? Очень надо чтоб больше можно было выводить и желательно не ставить в настройках большее число.(

3.)
Код
<script>getXmlCont('/api/news/','container',60);</script>


container: можно использовать вместо id - class? Пробовал вот тут заменить id на class

Код
function getXml(url,[u]id[/u],num){


но не работало. Чувствую, что тут попахивает не хилым пробелом в знаниях, но бывало, что заменял и работало.

4.) Попытался совместить скрипт с подгрузкой в аякс окне (про которую недавно писал))

Код
function getXmlCont(url,id,num){
if(url){var url=url,cont=document.getElementById(id),tmp='';
$.ajax({type:'GET',url:url,
beforeSend:function(){cont.innerHTML='<img src="http://likbezz.ru/_source/_ico/loader/aj2.gif" alt="" />';},
success:function(d){
var n=d.getElementsByTagName('name'),j=num;
var obj={TITLE:[],MESSAGE:[],ENTRY_URL:[],CATEGORY_NAME:[],CATEGORY_URL:[],DATE:[],TIME:[],MATERIAL_ID:[]};
$.each(n,function(i,n){var o=$(n).text(),v=$(n.nextSibling.firstChild).text();
if(o=='TITLE')obj.TITLE.push(v);
if(o=='MESSAGE')obj.MESSAGE.push(v);
if(o=='ENTRY_URL')obj.ENTRY_URL.push(v);
if(o=='CATEGORY_NAME')obj.CATEGORY_NAME.push(v);
if(o=='CATEGORY_URL')obj.CATEGORY_URL.push(v);
if(o=='DATE')obj.DATE.push(v);
if(o=='TIME')obj.TIME.push(v);
if(o=='MATERIAL_ID')obj.MATERIAL_ID.push(v);
});
$.each(obj.TITLE,function(i){
if(i<j){
tmp+=[
'<div class="grid">',
'<div class="imgholder"><img src="/AW_v5/img/no-image.jpg" /></div>',
'<strong><a href="javascript://" onClick="apoloadme(',''+obj.MATERIAL_ID[i]+'', ''+obj.ENTRY_URL[i]+'',');return false;">',obj.TITLE[i],'</a> <img src="/AW_v5/img/ajax-loader.gif" id="loader',''+obj.MATERIAL_ID[i]+'','" style="display: none"></strong>',
obj.MESSAGE[i],
'<div class="meta feed-date" id="xDate$ID$">'+obj.DATE[i]+', '+obj.TIME[i]+'</div>',
'<div class="apoloadfull',''+obj.MATERIAL_ID[i]+'','" style="display: none"></div>',
'</div>'
].join('');
}
});
cont.innerHTML=tmp;
},
error:function(a,b){if(b=='error'){cont.innerHTML='<b style="color: #F33;">Извините, но произошла ошибка: «'+a.status+'» '+a.statusText+'!</b>';}}
});};};


В частности вот этот страх вышел:

Код
tmp+=[
'<div class="grid">',
'<div class="imgholder"><img src="/AW_v5/img/no-image.jpg" /></div>',
'<strong><a href="javascript://" onClick="apoloadme(',''+obj.MATERIAL_ID[i]+'', ''+obj.ENTRY_URL[i]+'',');return false;">',obj.TITLE[i],'</a> <img src="/AW_v5/img/ajax-loader.gif" id="loader',''+obj.MATERIAL_ID[i]+'','" style="display: none"></strong>',
obj.MESSAGE[i],
'<div class="meta feed-date" id="xDate$ID$">'+obj.DATE[i]+', '+obj.TIME[i]+'</div>',
'<div class="apoloadfull',''+obj.MATERIAL_ID[i]+'','" style="display: none"></div>',
'</div>'
].join('');


likbezz, что не так делаю? Вроде все правильно, а новость не подгружается.

Сам скрипт подгрузки:



В общем, вот... За скрипт большое спасибо. Как раз информеры кончились, не знал как быть пока твою статью не нашел.

Добавлено (20.08.2014, 08:45)
---------------------------------------------

Цитата vinni
В частности вот этот страх вышел:

На всякий скидываю как это выглядит в виде материалов стандартного информера:

Код
<?ifnot(substr($DATE$,-4)='2012')?><div class="grid">
<div class="imgholder">
<a href="javascript://" onClick="apoloadme('$ID$', '$ENTRY_URL$'); return false;"><img src="<?if($IMG_URL1$)?>$IMG_URL1$<?else?>/AW_v5/img/no-image.jpg<?endif?>" /></a>
</div>
<strong><a href="$ENTRY_URL$">$TITLE$</a> <img src="/AW_v5/img/ajax-loader.gif" id="loader$ID$" style="display: none"></strong>
$MESSAGE$
<div class="meta feed-date" id="xDate$ID$">$DATE$, $TIME$</div>
<div class="apoloadfull$ID$" style="display: none"></div>
</div><?endif?>


 
Дата: Среда, 20.08.2014, 09:29 | Сообщение #18 | Тема: Ликбезз по юкоз API
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz
Обойти можно, лишь добавив в скрытом виде в текст материала

Что-то вроде темы, где ты показал как оформлять похожие материалы картинками? Именно тот скрипт и пытался приспособить, хэх.)

Цитата likbezz
Перебором страниц - /api/news/2 и так далее.

Пробовал сделать вот что:

Код
<script>getXmlCont('/api/news/1','/api/news/2','container',18);</script>


и

Код
function getXmlCont(url,url,id,num){


вместо

Код
function getXmlCont(url,id,num){


И ниже также дублировал url,url. Не получилось. Можешь показать правильный пример?)

Цитата likbezz
Смотри логи, ошибки.. так навскидку не скажу.

А сам код на первый взгляд верный? оО Думал, что может не так где...

Блин... А MATERIAL_ID можно дублировать в коде? Если сам код правильный, тогда и не знаю... Точная копия информера в принципе. Окно по сути должно открываться.

Добавлено (20.08.2014, 09:23)
---------------------------------------------

Цитата likbezz
Обойти можно, лишь добавив в скрытом виде в текст материала

Стоп. Кажется дошло. В сам текст или в краткое описание?

Добавлено (20.08.2014, 09:29)
---------------------------------------------

Цитата likbezz
И не забываем - это простейший пример скрипта, а не многопрофильный функционал.

А по мне так - сокровище. хд


 
Дата: Среда, 20.08.2014, 10:02 | Сообщение #19 | Тема: Ликбезз по юкоз API
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz
Не совсем.
Просто добавлять (вручную или скриптом) к тексту материала скрытый блок с картинкой, или html-комментарий, а в скрипте уже искать картинку в тексте материала и выводить, если есть.

Угу... Понятно, буду пробовать.)

Цитата likbezz
Правильный - нет - лениво писать подобный функционал за спасибо.
Как вариант - два разных блока подряд и два вызова, соответственно.

Пробовал, так работает, да.)

Цитата likbezz
ID материала - уникальный номер в модуле.

Знаю, говорю можно ли дублировать MATERIAL_ID. Например код статистики нельзя два раза размещать на странице, поэтому и спросил.) Мало ли. Там MATERIAL_ID используется три раза. Но явно проблема в другом.))

Спасибо.)

Добавлено (20.08.2014, 10:02)
---------------------------------------------

Цитата likbezz
По адресу /api/news/2 выводится краткое содержание (или обрезанное полное, если в настройках установлено обрезать...)

Так и думал.)


 
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » vinni [19]
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:


Мобильная версия