Expression engine channel entries keep next to each other - expressionengine

I am trying to keep my channel entries next to each other.
Usual way to print channel entries:
{exp:channel:entries channel="news" limit="10"}
<h2>{title}</h2>
{news_body}
{/exp:channel:entries}
So the news print under each other like this:
Title 1 Blah Blah
ashdjsdsd asdsda ada
adasdasda asdsda adad
Title 2 Blah Blah
jsaudwi llasdju alsl
asdasdas
I want to print two news articles next to each other like this:
Title 1 Blah Blah Title 2 Blah Blah
jsaudwi llasdju alsl ashdjsdsd asdsda ada
asdasdas adasdasda asdsda adad

imjared's answer is good from an HTML/CSS perspective, but since this is tagged as an ExpressionEngine question, here's how to solve this via EE syntax, with self-explanatory HTML.
{exp:channel:entries channel="news" limit="10"}
<div class="{switch="float-left|float-right"}">
<h2>{title}</h2>
{news_body}
</div>
{/exp:channel:entries}

This is a bit more of a html/css question than ExpressionEngine and there are a couple of ways you could do this:
http://jsfiddle.net/xJyqs/
http://jsfiddle.net/xJyqs/2/ (if you're not concerned about old browser support)
The way I'd do it is something like the following--
{exp:channel:entries channel="news" limit="10"}
<div class="entry">
<h2>{title}</h2>
{news_body}
</div><!--/.entry-->
{/exp:channel:entries}

Related

Trying to use PugJS to iterate both href attribute and link text

I'm having a hard time taking my json object and using the name and values to make a link. I've tried separate arrays as well, but I've decided it'd be easier if I set the object as {title:url} and when I use this code:
ul
each url, title in news
li= title
li= url
it returns my titles and urls like so
These are the arguments against net neutrality — and why they’re
wrong
https : //techcrunch .
com/2017/05/19/these-are-the-arguments-against-net-neutrality-and-why-theyre-wrong/
The bizarre naming trends that modern startups follow
https: //techcrunch .
com/2017/05/20/the-bizarre-naming-trends-that-modern-startups-follow/
Salesforce marches steadily toward $10B run rate goal
https :// techcrunch .
com/2017/05/19/salesforce-marches-steadily-toward-10b-run-rate-goal/
Uber threatened to fire engineer at center of Waymo trade secret
lawsuit
https :
//techcrunch.com/2017/05/19/uber-waymo-anthony-levandowski-termination-threat/
but when I try to make links with this code
each url, title in news
a(href= url) title
I get this:
titletitletitletitle
the links work, but it won't iterate the title...
any tips with this issue?
I decided to switch to an array and it seems like you need a = after (href= link) like this:
each articles in news
p
a(href = articles.url)= articles.title
li= articles.description
The issue is actually that there must be an equal sign (you were right about that) but there can be no space between the assignee (left side) and that equal sign. For example, this works:
ul
each url, title in {'/a': 'Title A', '/b': 'Title B'}
li
a(href=url)= title
... and will render:
<ul>
<li>
<a href='/a'>Title A</a>
</li>
<li>
<a href='/b'>Title B</a>
</li>
</ul>
If you omit the equals sign or leave a space like this:
ul
each url, title in {'/a': 'Title A', '/b': 'Title B'}
li
a(href=url) = title
... you'll get:
<ul>
<li>
<a href='/a'>title</a>
</li>
<li>
<a href='/b'>title</a>
</li>
</ul>

ExpressionEngine & Taxonomy 3 - How to split nodes into blocks of 5?

I am using ExpressionEngine 2.10.3 and also Taxonomy 3 plugin. I have the following code which, when run, returns the 15 nodes I have set up:
<div class="col-md-4">
{exp:taxonomy:nav tree_id="1" display_root="no" root_node_id="2"}
<li>
{node_title}
</li>
{/exp:taxonomy:nav}
</div>
What I would like to do is after every 5 entries, end the current <div> and start a new col-md-4. Usually, I would use {switch} and I have tried it like this:
<div class="col-md-4">
{exp:taxonomy:nav tree_id="1" display_root="no" root_node_id="2"}
<li>
{node_title}
</li>
{switch='||||</div><div class="col-md-4">'}
{/exp:taxonomy:nav}
</div>
But it doesn't work at all, instead it just prints out {switch='||||'}
Is there any way of doing what I'm trying to do?
If you're on 2.7.1 or greater and your taxonomy:nav has the nav_count variable, use the modulo operator. Instead of your {switch...} thing, put
{if nav_count % 5 == 1}
</div><div class="col-md-4">
{/if}
If you end on an modulo-5 count, though, you're going to have an empty div....

Expression Engine, filter relationship's entry by category id

I have the channel Market and Family. Both have the same expressionengine's category group.
I want to print out all the entries of the channel Market with the category XY, and for each market I want to print ONLY the first family entry of category XY related to it.
In my solution, seems that the category parameter inside the relationship field "market-families" doesn't work. here is the code:
{exp:channel:entries channel="Market" category="{segment_2_category_id}" orderby="title" sort="asc"}
{if "{url_title}" == "{segment_3}"}
<li class="active">
{if:else}
<li>
{/if}
{market-families orderby="title" sort="asc" category="{segment_2_category_id}" limit="1"}
{title}
{/market-families}
</li>
{/exp:channel:entries}
Legend:
{segment_2_category_id} -> plugin to get the category id from a segment.
market-families -> Multiple relationship field inside channel Market
Thank you for any help :)
Have you tried manually entering the category id in the parameter instead of using the plugin just to verify that it's not the plugin?
I couldn't find any specific reference to the relationship field being able to use the category parameter in ExpressionEngine's documentation: http://ellislab.com/expressionengine/user-guide/modules/channel/relationships.html

Popular & Recent Weblog Entries ExpressionEngine

I am trying to display the most recent 15 weblog entries and the most popular 15 weblog entries in ExpressionEngine, this is my code and it gives me blank blocks, any ideas ?
<div id="footseparator_05" class="foot">
{exp:weblog:entries orderby="date" sort="desc" limit="15" disable="categories|custom_fields|member_data|pagination|trackbacks"}
<div id="footbullet_00"></div>
{title}
<div id="footseparator_06"></div>
{/exp:weblog:entries}
</div>
<div id="footseparator_07"></div>
<div id="footseparator_08" class="foot">
{exp:weblog:entries orderby="view_count_one" sort="desc" limit="15" disable="categories|custom_fields|member_data|pagination|trackbacks"}
<div id="footbullet_01"></div>
{title}
<div id="injected_01"></div>
{/exp:weblog:entries}
</div>
This code is located in one page BTW, thanks for your time :)
Try adding dynamic="off" to both tags. (See the docs on this tag here.)

"no_entries" conditional logic

Is this possible to do the following in ExpressionEngine:
(code taken from here)
IF THERE ARE RELATED ENTRIES SHOW THIS: (important to see the header)
HEADING : Related Entries:
Entry 1
Entry 2
Entry 3
ELSE (SHOW NOTHING)
...
DONE
Code:
{related_entries id="performers"}
{if no_related_entries}
<h2>No Entries</h2> {/if}
<h2>{title}</h2> {body}
{/related_entries}
How do I hide the header? Because the only way to check if there are related entries is to actually start the {related_entries} LOOP.
Any hints? I don't want to hack into PHP for this.
{related_entries id="performers"}
{if title != ""}
<h2>{title}</h2>
{/if}
{body}
{/related_entries}
This should do it, no need for no_related_entries, since you do not plan on doing anything if there is nothing.
Since you have header tags around your title, I imagine you want to avoid printing out header tags when there isn't any related entries.
so if title is not empty, display, if it is, then it won't, so you'll avoid <h2></h2>
don't worry about putting a conditional around the body tag, it will just not display anything if it is blank, but if you put an html tag around it like you did the title, then you would do the same as you do w/ the title conditional.
This ought to do the trick
{related_entries id="performers"}
{if no_related_entries}
<h2>No Entries</h2>
{if:else}
<h2>{title}</h2> {body}
{/if}
{/related_entries}
Sam "SammyTheSnake" Penny

Resources