1. REGISTRATION REQUIREMENTS:

    Register with your xenforo.com Username then start a conversation at xenforo.com w/Bob and provide the following:
    1. Your XenForo License Validation Token
    2. The Domain Name associated with the License
    NOTE: Your account will be validated once ALL requirements are verified/met. Thank you for your patience.

Using Tabs: Are these tabs possible?

Discussion in 'Showcase Support' started by Live Free, Jul 24, 2014.

  1. Live Free

    Live Free New Member Showcase

    I'm wondering if some specific tab functionality is possible.

    I'd like to have a different tab for each:
    • showing a list of items in a different category
    • show a list of recent forum posts/threads in a specified forum (relevant to category)
    • show a list of the most recent news (Google News?) for a term (the entry/item)
    • show html/javascript/third-party widget content
    • links directly to a different url (i.e. have a tab that says "Sign Up" and links to an affiliate site)
    I'm also trying to figure out how to best organize some categories for similar items. I was hoping for some suggestions since I'm new to how Showcase works.

    Category A has hundreds of similar items/entries. Category B lists sites where you can exchange various types of cat A items, with with multiple items in cat A, but not all of them.

    Rather than have a separate Category B equivilent for each item in Category A, I'd like to have a checkbox section in Category B where you can check all items in Category A that the new item in Category B allows you to exchange.

    What I'd ideally like to do, is for each item in Category A that is also checked in item(s) in Category B, all checked items would show up on on a secondary tab for that item in category A. They would also update if an item in cat B was edited. While Category B would allow a list of all exchanges, the secondary tab for items in category A would allow you to essentially filter the exchanges and list only the ones relevant to that item.

    Does that make sense? Any suggestions for organization? Is what I described in the last paragraph in any way possible? I realize that functionality might not be possible with Showcase - if not, what organizational method would you suggest?

    Thanks so much.
     
    alfa1 likes this.
  2. Bob

    Bob Developer Staff Member

    Im going to have to look into this tomorrow as today is just too busy for me to stop and THINK...
     
  3. Live Free

    Live Free New Member Showcase

    Hey @Bob B when you get a chance could you look at my original post? My project was delayed, but now that I've began working again I find myself in need of some of this functionality.

    The main things I'm trying to do is to add tabs, where 1) a particular tab can bet set up to list content from another category, 2) lists recent forum posts from a specified forum, 3) shows recent google news items, 4) can have javascript/embedded third party widgets (i.e. a stock price ticker), and where 5) a tab can be simply a link that takes you to a different site or page.

    #1 is probably the most difficult functionality-wise, but due to the types of categories I have, a lot of the category content overlaps.
     
  4. Bob

    Bob Developer Staff Member

    I need some clarification on the "tabs". There are two uses of TABS in Showcase.

    The first use is on Item Listings (like the Home page, Category Page, Tag Cloud Page etc). These are what I refer to as SORT TABS. All they do is change the SORT order of the items displayed. You can also use the FILTER system to narrow down the returned results.

    The second use is on the ITEM itself. These are used to display different piece of content pertaining to the Item. Some of the content (Tabs 1,2,3,4,5 and the image gallery) are contained within a TAB CONTAINER, the other Tabs are Navigation Tabs that render a new full page).

    Adding SORT Tabs requires programming code (a lot of it) along with a lot of template editing (each list that uses the sort tabs needs its related templates edited).

    ITEM Tabs... There is the option to create a custom field as its Own Tab. Its fairly limited, but it does make it easy to add new content tabs quickly and painlessly. More advanced would require programming with a lot of template editing.

    You MIGHT want to take a look into using Custom Fields to help you out a bit. You can now search items by custom fields. For example, your currency... you could create a currency multi select. The item would choose which currencies it supports and then users could use the custom fieldls search to find all items marked as "Dogecoin" for example.
     
  5. Live Free

    Live Free New Member Showcase

    I am referring to the Item Tabs/Tab Contain on the item page for points 2-5 and Item Listings/Short Tabs for #1 (the cross-category display filtering) (though it might be possible on the item page). What I'm after in regard to #1 would ideally be sort tabs/filtering.

    I will look into working with Custom Fields for #1. Is there a starting point reading or resource you would recommend? Custom Fields look like it could work for the filtering solution for the cross-category issue. Before I try to tackle this I'm going to try to solve the item tab points.

    Could I accomplish listing forum posts and recent news with a php/xenforo include in the template?

    Can I add an iframe or javascript to a sidebar field/block or it's own tab through editing the tab container template or wherever the tab container is located? Could I do the same to have a tab that acts as a link instead of a tab?

    Right now I'm toying with editing the Within the nflj_showcase_items template within the id showcase_tab_container. Is this the right template I should be looking at?


    Code:
    
                <xen:if is="{$category.tab5_name} && ({$t5.hasContent} || {$item.tab5_hasFieldContent})">
                    <li id="tab5">
                        <xen:include template="nflj_showcase_item_field_group">
                            <xen:set var="$fieldGroup" value="tab5" />
                            <xen:set var="$extraFieldClass" value="tab5" />
                        </xen:include>
    
    
    For the link tab, should I be making something like:

    if {specific category name} AND {specific item id} then <div with url> (coded into the template)

    Or should I include a custom field instead of actually including url in the template?

    I'm assuming I would do similar to include iframes/javascript/widgets if I could specific which tab to include them in on which item page?

    I guess I'm wondering if I'm looking at the right template and if you could tell me how to reference a specific category, a specific item page, and a specific custom field, and if there's a better way to do this.
     
  6. Live Free

    Live Free New Member Showcase

    I've made some progress but I'm still struggling. Regarding adding a tab that links to an outside website when clicked:

    I managed to add the tab and have it display if a particular field exists (to identify the items I want this tab to show for). Here's the code I've added with context in nflj_showcase_item:
    Code:
        <div class="showcaseItemTabs">
            <xen:if is="{$item.canWatch}">
                <li><a href="{xen:link showcase/watch, $item}" class="OverlayTrigger watchLink" data-cacheoverlay="false"><xen:if is="{$item.is_watched}">{xen:phrase nflj_showcase_unwatch_this_item}<xen:else />{xen:phrase nflj_showcase_watch_this_item}</xen:if></a></li>
            </xen:if>     
            <ul id="showcasetabs" class="Tabs tabs showcaseTabs" data-panes="#showcasetabcontainer > li">
                <xen:if is="{$category.tab5_name} && ({$t5.hasContent} || {$item.tab5_hasFieldContent})">
                    <li class="scTab5"><a href="{xen:link showcase, $item}#tab5">{$category.tab5_name}</a></li>
                </xen:if>
                <xen:if is="{$item.customFields.poker_client_website}">
                    <li class="scTab6"><a target="_blank" href="{$item.customFields.poker_client_website}">Sign Up</a></li>
                </xen:if>
    
    The tab shows up fine. The problem is that when I click the "Sign Up" tab, the tab still "opens" even though there's no content to display - and it doesn't open a window/page to the url with poker_client_website. If I click the tab and it opens and I hover over the tab or right click and open it in a new window, it will open it at the proper url.

    The current problem is that clicking the tab at no point opens a window or reloads the page to the website as intended. I've been working on this for a while and I'm stumped.
     
  7. Bob

    Bob Developer Staff Member

    You need to use the unbind js since I am using a combo if Tab Container and Navigation Tabs (the Navigation tabs need to be unbinded from the on click event so that they can do what the a href is supposed to do).

    First, you will need to add a check to the unbind JS...

    FIND:

    HTML:
        <xen:if is="{$item.thread_id} || {$item.review_count} || {$item.customFieldTabs}">
            <script type="text/javascript">  
                $(document).ready(function () {
                    $("li.last a").unbind('click');
                });
            </script>
        </xen:if>
    Then add a check for the field like this:
    HTML:
        <xen:if is="{$item.thread_id} || {$item.review_count} || {$item.customFieldTabs} || $item.customFields.poker_client_website}">
            <script type="text/javascript">  
                $(document).ready(function () {
                    $("li.last a").unbind('click');
                });
            </script>
        </xen:if>
    Then add the "last" class to your Tab

    HTML:
                <xen:if is="{$item.customFields.poker_client_website}">
                    <li class="last scTab6"><a target="_blank" href="{$item.customFields.poker_client_website}">Sign Up</a></li>
                </xen:if>
     
    Live Free likes this.
  8. Live Free

    Live Free New Member Showcase

    Thank you! Seems to work. ;)

    I have another question for you. Presently I've mostly managed to pull google news and sub-reddit posts in a News tab. Unfortunately I came across a few items where the news keyword and sub-reddit keyword aren't the same.

    I'm displaying google news and reddit links next to each other in two columns (see attachment). Because of this, I cannot simply add a second field to display the content below - I'd like them in columns. I have divs in "news" with iframes and two div columns where I'm using {$valueUrl} to specify the google news keyword and the proper sub-reddit.

    Code:
    <div id="newsdiv">
    <div id="leftcol">..."https://news.google.com/news/feeds?pz=1&cf=all&ned=en&hl=en&q={$valueUrl}&output=rss"...</div>
    <div id="rightcol"><script src="http://www.reddit.com/r/{$valueUrl}/hot/.embed?limit=20&t=all&bordercolor=FFFFFF" type="text/javascript"></script></div>
    </div>
    Using $valueUrl I've been able to customize news listings and reddit listings on a per item basis. However, the google news keyword and the proper sub-reddit aren't always the same. When they aren't, I get no results or incomplete results for one of the two columns.

    I'd like to create a new custom field, say news_reddit, that I can reference in the Value Display HTML for news (since "news" custom field has the div/css ids for the columns).

    I tried creating a custom field, news_reddit, and inputing the proper subreddit keyword, and then referencing {$item.customFields.news_reddit} in place of {$valueUrl} in the .rightcol div to no avail.

    Is this possible or is it prohibited since it's within the value display html of a different custom field? Is there a different reference I can use or perhaps another way to achieve what I'm after? Thank you so much.
     

    Attached Files:

    Last edited: Dec 27, 2014
  9. Bob

    Bob Developer Staff Member

    Ya, you can't do that. The system isn't designed to handle multiple custom fields for a single Value Display HTML. Not sure why the custom field solution didn't work tho. It SHOULD. Can you show me what the script URL looks like when viewing the page source and using the custom field?
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.