Как выводить случайные материалы с картинками
|
|
[1] vovan905 [20.05.2013, 12:23] |
Подскажите как можно сделать, что-то типа информера, чтобы выводились обложка материала отдельно взятой категории (например сайт с фильмами, мне нужно, чтобы из категории "новинки" выводились случайные материалы, естественно с картинкой). |
|
[2] bandjuk [20.05.2013, 13:41] |
vovan905, так сам же написал информером ) там в доп. опциях информера можно указать какие категории выводить:
|
|
[3] likbezz [20.05.2013, 22:10] |
vovan905, Цитата (vovan905) Здравствуйте, нужно сделать информер, не бесплатно Ну вам же написали, Заходите в ПУ » Информеры и создаете информер
чтобы выводились обложка материала отдельно взятой категории Открываете шаблон информаре, удаляете все что там есть и вставляете: Код <img src="<?if($IMG_SMALL_URL1$)?>$IMG_SMALL_URL1$<?else?><?if($IMG_URL1$)?>$IMG_URL1$<?else?>http://likbezz.ru/_theme1/_st/ico/_nopic.gif<?endif?><?endif?>" style="width:100px;height:auto;border:0;" />
Остальное по вкусу - размер, может еще что, кроме картинки...
чтобы выводились обложка материала отдельно взятой категории Открываете настройки информера » [ Дополнительные опции ] и в поле Список ID категорий: вставляете ID категории с новинками.
Узнать ID категории можно в настройках категорий того модуля для которого информер:
...
|
|
[4] vovan905 [21.05.2013, 20:16] |
likbezz, этот вариант я знаю, но дело в том, что все картинки я добавлял через файловый менеджер, а значит IMG_URL1 не прокатит, нужно как-то через javascript прописать. У меня таким образом (<div id="uRelated" class="browse-entity-section browse-entity-section-videos" >
<?$RELATED_ENTRIES$(5)?>
</div> <script type="text/javascript"> $('#uRelated li.uRelatedEntry a').each(function(){ var c=$(this),cont=c.parent(),url=this.href,noimg=''; $.get(url,{},function(d){ var b=$(d).find('.eText img:eq(0)')||$(d).find('.etitle img:eq(0)')||false,src=null; if(b){ for(var i=0;i<b.length;i++){ if(!/ucoz.net/i.test(b[i].src)){ src=b[i].src; cont.prepend($('<img/>').attr('src',src).addClass('uRelatedEntry'));break; }; }; if(src==null){cont.prepend($('<img/>').attr('src',noimg).addClass('uRelatedEntry'))} }; }); }); </script>) выводятся похожие материалы для каждой новости, но переделать под случайные материалы у меня не получилось. |
|
[5] likbezz [21.05.2013, 20:50] |
vovan905, likbezz, этот вариант я знаю, но дело в том, что все картинки я добавлял через файловый менеджер, а значит IMG_URL1 не прокатит, нужно как-то через javascript прописать. А в материале-то они присутствуют? На странице материала и комментария к нему? Если есть - то будет работать, если нет.. то нет.
Ссылки на схожие материалы, оформляем картинками. JavaScript (Оформление ссылок на схожие материалы картинками-превью.) |
|
[6] vovan905 [22.05.2013, 14:49] |
пробовал я код для информера, который вы посоветовали, высветилось - изображение недоступно т.е. гифка в коде.
Мне интересно можно ли этот код (<div id="uRelated" class="browse-entity-section browse-entity-section-videos" >
<?$RELATED_ENTRIES$(5)?>
</div>
<script type="text/javascript"> $('#uRelated li.uRelatedEntry a').each(function(){ var c=$(this),cont=c.parent(),url=this.href,noimg=''; $.get(url,{},function(d){ var b=$(d).find('.eText img:eq(0)')||$(d).find('.etitle img:eq(0)')||false,src=null; if(b){ for(var i=0;i<b.length;i++){ if(!/ucoz.net/i.test(b[i].src)){ src=b[i].src; cont.prepend($('<img/>').attr('src',src).addClass('uRelatedEntry'));break; }; }; if(src==null){cont.prepend($('<img/>').attr('src',noimg).addClass('uRelatedEntry'))} }; }); });
</script>) переделать так, чтобы выводились случайные материалы из категории? |
|
[7] likbezz [22.05.2013, 19:25] |
vovan905, пробовал я код для информера, который вы посоветовали, высветилось - изображение недоступно т.е. гифка в коде. Системная? Посмотрите какой у не адрес и добавьте исключение, в скрипте же предусмотрено: Код if(!/ucoz.net/i.test(b[i].src)){
Мне интересно можно ли этот код переделать так, чтобы выводились случайные материалы из категории? Проще сделать новый. Типа: » Информер при помощи api. JavaScript. Как сделать? (Как увеличить кол информера при помощи JavaScript) .. |
|
[8] vovan905 [23.05.2013, 11:46] |
Likbezz, я пробовал сам написать код для информера на javascript, но ничего не получилось. Вы сможете написать код за деньги? я поподробнее опишу условия информера. |
|
[9] likbezz [23.05.2013, 18:31] |
vovan905, Вы сможете написать код за деньги? я поподробнее опишу условия информера. Описывайте. Будет время напишу. |
|
[10] vovan905 [24.05.2013, 11:14] |
выглядеть должно вот так: http://s40.radikal.ru/i088/1305/8d/3296781fa327.jpg, но чтобы в дальнейшем можно было в коде изменить количество колонок и материалов. 1) Необходимо выводить материалы в случайном порядке из определенной одной категории (причем чтобы эту категорию можно было изменить в коде) 2) возможность изменить ширину и высоту картинки. 3) при нажатии на картинку совершался переход на страницу материала. 4) при наведении на картинку высвечивалось название материала.
Вроде все. Сколько мне это будет стоить???? |
|
[11] likbezz [25.05.2013, 08:47] |
vovan905, выглядеть должно вот так: http://s40.radikal.ru/i088/1305/8d/3296781fa327.jpg Вы неправильно поняли меня. Я пишу скрипты, исполняемую часть, функционал. Оформлением я не занимаюсь, принципиально.
А на скриншоте что по вашей ссылке вообще непонятно что это. Картинок-обложек восемь, и все разные + три каких-то обрезка. И одно описание..
1) Необходимо выводить материалы в случайном порядке из определенной одной категории (причем чтобы эту категорию можно было изменить в коде) Зачем лепить скрипты-то? - это можно сделать и обычным информером - Материалы » В случайном порядке.
2) возможность изменить ширину и высоту картинки. какую пропишите в шаблоне информера, такая и будет.
3) при нажатии на картинку совершался переход на страницу материала. и это не проблема )
4) при наведении на картинку высвечивалось название материала. «высвечивалось» - ..хм.. а точнее?
Вроде все. Сколько мне это будет стоить? То есть, вам нужен шаблон информера? Оформлением по скриншотам я не занимаюсь, а шаблон могу накидать и бесплатно, каркас имеется в виду. .. |
|
[12] vovan905 [25.05.2013, 17:48] |
likbezz, Картинок-обложек восемь, и все разные
- это 8 материалов из раздела в случайном порядке. Вот полный вариант картинки http://s018.radikal.ru/i513/1305/7c/ac0a41f39d46.jpg
likbezz, Зачем лепить скрипты-то? - это можно сделать и обычным информером - Материалы » В случайном порядке.
Можно, но картинку вывести через IMG_URL не получится, так как все картинки загружены через файловый менеджер, а мне нужно с картинкой.
Еще раз приведу пример кода, по-моему скачанный с вашего сайта:
<div id="uRelated" class="browse-entity-section browse-entity-section-videos" >
<?$RELATED_ENTRIES$(5)?>
</div>
<script type="text/javascript"> $('#uRelated li.uRelatedEntry a').each(function(){ var c=$(this),cont=c.parent(),url=this.href,noimg=''; $.get(url,{},function(d){ var b=$(d).find('.eText img:eq(0)')||$(d).find('.etitle img:eq(0)')||false,src=null; if(b){ for(var i=0;i<b.length;i++){ if(!/ucoz.net/i.test(b[i].src)){ src=b[i].src; cont.prepend($('<img/>').attr('src',src).addClass('uRelatedEntry'));break; }; }; if(src==null){cont.prepend($('<img/>').attr('src',noimg).addClass('uRelatedEntry'))} }; }); });
</script>
он выводит похожие материалы, ищет по тегам, причем выводит с картинками (обложка), вот тоже самое мне нужно сделать для вывода материалов в случайном порядке из какой-нибудь категории. |
|
[13] likbezz [25.05.2013, 23:07] |
vovan905, Можно, но картинку вывести через IMG_URL не получится, так как все картинки загружены через файловый менеджер, а мне нужно с картинкой. А, вот оно что.
Краткое содержание у материалов заполнено? В кратком содержании есть картинка? В каком шаблоне и на какой странице предполагается использовать?
Если есть в кратком содержинии картинка, выводится же $message$, то тоже лучше информером + скрипт, так как скриптом столько get запросов это не есть айс. Информером вывести в скрытый блок, вытащить оттуда картинки и вывести их куда и как нужно.
Ну а если нет, тоже информер нужен - брать ссылки на случайные материалы где-то надо.
Если предполагается выводить на странице с полным материалом, то да, можно и без информера - взять ссылки на похожие материалы. На других страницах же, не работает код $RELATED_ENTRIES$.
.. |
|
[14] vovan905 [26.05.2013, 18:47] |
likbezz, Краткое содержание у материалов заполнено? В кратком содержании есть картинка? В каком шаблоне и на какой странице предполагается использовать?
Да заполнено, и там есть единственная картинка, которую как раз надо вывести. Шаблон стандартный. Вообще хотелось чтобы на всех страницах выводился информер в левой колонке, как информация того, что есть на сайте.
likbezz, Если есть в кратком содержинии картинка, выводится же $message$, то тоже лучше информером + скрипт, так как скриптом столько get запросов это не есть айс. Информером вывести в скрытый блок, вытащить оттуда картинки и вывести их куда и как нужно.
Да $message$ выводится. |
|
[15] likbezz [26.05.2013, 20:11] |
vovan905, Ну, тогда вообще просто. Создаете информер, пихаете его в скрытый блок, скриптом вытаскиваете из него картинки и тп, и переписываете блок нужным контентом - картинками и описанием при наведении. Типа: Шаблон инф. Код <div class="infBox" data-url="$ENTRY_URL$" data-title="$TITLE$">$MESSAGE$</div>
Код вставки: Код <div id="myInf_55" style="display:none;">$MYINF_55$</div> <script type="text/javascript"> (function(){ var myInf55=$('<div/>'); $('#myInf_55 div.infBox:has(img)').each(function(i){ if(i<8){ var a=this.getElementsByTagName('img')[0].src, b=this.getAttribute('data-url'), c=this.getAttribute('data-title'); myInf55.append('<span class="myInfSpan"><a href="'+b+'" title="'+c+'"><img class="myInfImg" src="'+a+'" alt="" /></a></span>');} }); $('#myInf_55').html(myInf55).show(); })(); </script>
Стили: Код <style type="text/css"> #myInf_55{width:460px;margin:7px auto;} #myInf_55 img.myInfImg{width:150px;display:inline-block;} #myInf_55 span.myInfSpan{padding:0 3px 3px 0;} </style>
http://likbezz.ru/index/srochno/0-7
Только юкозовский рандом с небольшой задержкой, около 30-60 сек на одну сессию. |
|