5

For visibility, this is what your snippets look like: [segment_category_ids] => 241 [segment_1_category_id] => [segment_1_category_parent_id] => [segment_1_category_group_id] => [segment_1_category_name] => [segment_1_category_description] => [segment_1_category_image] => [segment_2_category_id] => [...


4

Low Seg2Cat doesn't pick-up category information associated with channel entry IDs in the URL - it picks up category information associated with category URL titles in the URL. So, it is working, but it doesn't do what you thought it might do.


4

Low Seg2Cat has always been site specific. However, some have made a slight alteration to the extension file to search through all sites. To do this in the latest version, comment out (or remove) line 218 of ext.low_seg2cat.php, which reads: ->where('site_id', $this->site_id) Also make sure the Category Groups setting is set to --All--. The ...


3

File paths are only parsed in the Category Image field, not in the Category Description field, and only if the Parse File Paths setting is set to Yes.


3

Try this: {if segment_category_ids_piped ~ '/\b'.cat_id.'\b/'} Note: this works for pipe-separated IDs (numbers). If you're looking for pipe-separated strings or text, you'd be better off using this: {if piped_text ~ '/(^|\|)'.text.'(\||$)/'}


3

That's looking like Low Seg2Cat. Make sure you're on the latest version and the Parse File Paths is turned on in the settings.


3

There is a setting to restrict to Category Groups in Seg2Cat -- see the documentation. Note that, by default, Seg2Cat has this caveat: If there are multiple categories with the same url_title, but in different groups, this extension will only return one of those. So best make sure your category url_titles are unique, or you select the relevant ...


3

That looks like expected behaviour to me. I'm assuming that you're seeing this at a URL which has a category slug in segment_3 and nowhere else, so all of the other Seg2Cat variables are empty. What was the behaviour you were expecting?


2

Low Seg2Cat deliberately doesn't parse the file paths in the category image for performance reasons. You can use the Parse File Paths add-on to get those parsed.


2

Try to setup Low seg2cat extension parameter Set all segments to Yes.


2

It's probably caused by having PHP on Output, rather than Input, but you can avoid using PHP altogether. The way Low Events is set up, and the way Low Seg2Cat works, will allow you to set both parameters regardless of their format: {exp:low_events:entries date="{segment_2}" category="{segment_2_category_id}"} ... {/exp:low_events:entries} If segment 2 ...


2

For the first URL, you won't get a valid category ID, as {last_segment_category_id} points to the last segment: the date. You'd need to get creative with simple conditionals and preload replace vars. Something like this: {if segment_4 != ''} {preload_replace:pre_category="{segment_3_category_id}"} {/if} {preload_replace:pre_category="{...


2

You don't necessarily need Seg2cat to do that, category views are already built into EE. Assuming you have a template group set up called /staff all you need to do is add the Channel entries tag, plus category links for navigation, into the /staff/index template. Sample channel entries tag for your staff entries {exp:channel:entries channel="...


2

Within the products/index template: {if segment_2 == ""} Display all top level product categories CURRENT TEMPLATE IS /products/index - so would embed another template? {if:elseif segment_3 == "entries"} Lists the products within current category {embed=products/entries} {if:elseif segment_3 == "list"} Lists the subcategories for any top ...


2

Low Seg2Cat currently (v2.8.0) expects lowercase category url titles. If you have any uppercase characters in them, they will not be matched. By default, this should pose no problem, as EE will always lowercase them. But if you're importing them, or manually setting them, they might have uppercase letters in them. To change all category url titles to ...


2

If you're running 2.9, you could use a regular expression conditional to send the visitor to a 404 when trying to browse those categories: {if segment_x_category_id ~ "/32|15|8/"} {redirect="404"} {/if}


2

You have stumbled upon one of the classics in debugging ExpressionEngine. A still common gotcha that even seasoned veterans get bitten by every now and then. A property that makes us wonder: why is this still default behaviour? But why wonder... Try dynamic="no".


2

This is as designed. Low Seg2Cat creates its own instance of EE's URI class, because add-ons like Transcribe (and specifically Structure) tend to rewrite the original URI instance, which rewrites the segment array into something else, which can lead to other unexpected results. Low Seg2Cat therefore uses the URI as is, including "prefixes". You'll need {...


2

According to the docs, using the pipe character will return results if entries belong to either category id. To return those that belong to both then use the & symbol instead of the | character. Link to the docs read it :)


1

If you have multiple categories with the same URL title, then this caveat applies: If there are multiple categories with the same url_title, but in different groups, this extension will only return one of those. So best make sure your category url_titles are unique, or you select the relevant Category Groups in the settings so they are. The piped var is ...


1

As Mufi correctly commented, Low Seg2Cat uses category URL titles, not category IDs.


1

As stuartmcd69 says, what you need to do is use the & character instead of |. However, the current version of Calendar (2.2.3) has a bug where this does NOT work. We're close to releasing a 2.3.0 version that will include a bug fix for this though. If you need a patch now, just create a support ticket here :)


1

I appreciate response of @Low. Thank you sir. As I have many pages where I cannot use {last_segment_category_id} or {segment_[n+1]_category_id}. I needed some quick hack in LowSeg2Cat extension to make it compatible with Transctibe module. I open extension file via FTP and alter line number 372 from: if ($this->settings['ignore_pagination'] == 'y') { ...


1

You can conditionally check your segment variables from the extension: {if segment_2_category_name} This category exists. {exp:channel:entries category="{segment_2_category_id}"} ...{title}... {/exp:channel:entries} {if:else} No results code, or {redirect="404"} {/if}


1

In short: no. Low Seg2Cat looks at full segments, which in your example is order#cakes, not order, nor cakes. Your better bet is to, rather than use a hash in your URL to indicate a filter, simply append the category_url_title as a new segment. So, link your filters to order/{category_url_title}, and then manually change your URL to that link when your ...


1

Your code should look like this (note the end of the opening channel:entries tag - you were missing a combination of quotes and curly braces): {exp:channel:entries channel="specials" orderby="date" category="{segment_3_category_id}"} <p>{entry_date format='%j%S %M %Y'}</p> <p>{specials_excerpt}</p> {/exp:channel:entries} I'...


1

You need to surround segment_3_category_id in parethesis and {} category="{segment_3_category_id}"


1

@derek's answer is good, except that it will match other categories containing the numbers, like 18. So, let's improve it using the contains and the concatenation operators, instead of a regex.: {if '/32/15/8/' *= '/'.segment_x_category_id.'/'} {redirect="404"} {/if} I'm using / as delimiter, but it could be some different character.


1

If you're using lows Seg2cat you can use {segment_3_category_id} EE can only use an id parameter in the channel entries tag. {exp:channel:entries channel="channel_name" dynamic="off" category="{segment_3_category_id}" status="open"} {title} {/exp:channel:entries} Is this cool? Don't really 'get' your issue?


1

It seems the category url title's are not unique. Try making them unique and that should fix your issue as Low Seg2Cat queries the database and find the first match.


Only top voted, non community-wiki answers of a minimum length are eligible