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


4

does it work if you set dynamic="no"?


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.


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?


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.


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 :)


2

Well from the looks of it you don't really need to use Stash at all. If you use something like Low Seg2Cat or URL Helper you can just pull in {segment_2_category_id} straight into your Channel Entries tag as the parameter value: {exp:channel:entries dynamic="no" category="{segment_2_category_id}|1"} content {/exp:channel:entries} With regards to the ...


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

@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

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

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