Advertisement:

Author Topic: change latest listing to a specific category  (Read 4910 times)

design

  • Hero Member
  • *****
  • Posts: 2619
  • Osclass 3.5 MAC/PC w/ Modern Browsers
change latest listing to a specific category
« on: November 20, 2013, 01:38:43 am »
using this full code how do I get it to pull my category 8 (jobs) only?
I want it to pull premiums et all


Code: [Select]
<div class="latest_ads">
                    <h1><strong><?php _e('Latest Listings''modern'); ?></strong></h1>
                    <?php if( osc_count_latest_items() == 0) { ?>
                        <p class="empty"><?php _e('No Latest Listings''modern'); ?></p>
                    <?php } else { ?>
                        <table border="0" cellspacing="0">
                             <tbody>
                                <?php $class "even"?>
                                <?php while ( osc_has_latest_items() ) { ?>
                                 <tr class="<?php echo $class. (osc_item_is_premium()?" premium":""); ?>">
                                        <?php if( osc_images_enabled_at_items() ) { ?>
                                         <td class="photo">
                                            <?php if( osc_count_item_resources() ) { ?>
                                                <a href="<?php echo osc_item_url(); ?>">
                                                    <img src="<?php echo osc_resource_thumbnail_url(); ?>" width="75" height="56" title="<?php echo osc_item_title(); ?>" alt="<?php echo osc_item_title(); ?>" />
                                                </a>
                                            <?php } else { ?>
                                                <img src="<?php echo osc_current_web_theme_url('images/no_photo.gif'); ?>" alt="" title="" />
                                            <?php ?>
                                         </td>
                                        <?php ?>
                                         <td class="text">
                                             <h3><a href="<?php echo osc_item_url(); ?>"><?php echo osc_item_title(); ?></a></h3>
                                             <p><strong><?php if( osc_price_enabled_at_items() && osc_item_category_price_enabled() ) { echo osc_item_formated_price(); ?> - <?php } echo osc_item_city(); ?> (<?php echo osc_item_region();?>) - <?php echo osc_format_date(osc_item_pub_date()); ?></strong></p>
                                             <p><?php echo osc_highlightstrip_tagsosc_item_description() ) ); ?></p>
                                         </td>
                                     </tr>
                                    <?php $class = ($class == 'even') ? 'odd' 'even'?>
                                <?php ?>
                            </tbody>
                        </table>
                        <?php if( osc_count_latest_items() == osc_max_latest_items() ) { ?>
                        <p class='pagination'><?php echo osc_search_pagination(); ?></p>
                            <p class="see_more_link"><a href="<?php echo osc_search_show_all_url();?>"><strong><?php _e("See all offers"'modern'); ?> &raquo;</strong></a></p>
                        <?php ?>
                    <?php View::newInstance()->_erase('items'); } ?>
                </div>

frosticek

  • Hero Member
  • *****
  • Posts: 3948
Re: change latest listing to a specific category
« Reply #1 on: November 20, 2013, 01:51:15 am »
@design

Code: [Select]
<div class="latest_ads">
                    <h1><strong><?php _e('Latest Listings''modern'); ?></strong></h1>
                    <?php if( osc_count_latest_items() == 0) { ?>
                        <p class="empty"><?php _e('No Latest Listings''modern'); ?></p>
                    <?php } else { ?>
                        <table border="0" cellspacing="0">
                             <tbody>
                                <?php $class "even"?>
                                <?php while ( osc_has_latest_items() ) { ?>
                                <?php if(osc_item_category_id() == 8) {   // THIS LINE IS NEW
                                 
<tr class="<?php echo $class. (osc_item_is_premium()?" premium":""); ?>
">
                                        <?php if( osc_images_enabled_at_items() ) { ?>
                                         <td class="photo">
                                            <?php if( osc_count_item_resources() ) { ?>
                                                <a href="<?php echo osc_item_url(); ?>">
                                                    <img src="<?php echo osc_resource_thumbnail_url(); ?>" width="75" height="56" title="<?php echo osc_item_title(); ?>" alt="<?php echo osc_item_title(); ?>" />
                                                </a>
                                            <?php } else { ?>
                                                <img src="<?php echo osc_current_web_theme_url('images/no_photo.gif'); ?>" alt="" title="" />
                                            <?php ?>
                                         </td>
                                        <?php ?>
                                         <td class="text">
                                             <h3><a href="<?php echo osc_item_url(); ?>"><?php echo osc_item_title(); ?></a></h3>
                                             <p><strong><?php if( osc_price_enabled_at_items() && osc_item_category_price_enabled() ) { echo osc_item_formated_price(); ?> - <?php } echo osc_item_city(); ?> (<?php echo osc_item_region();?>) - <?php echo osc_format_date(osc_item_pub_date()); ?></strong></p>
                                             <p><?php echo osc_highlightstrip_tagsosc_item_description() ) ); ?></p>
                                         </td>
                                     </tr>
                                    <?php $class = ($class == 'even') ? 'odd' 'even'?>
                                <?php // THIS LINE IS NEW ?>
                                <?php ?>
                            </tbody>
                        </table>
                        <?php if( osc_count_latest_items() == osc_max_latest_items() ) { ?>
                        <p class='pagination'><?php echo osc_search_pagination(); ?></p>
                            <p class="see_more_link"><a href="<?php echo osc_search_show_all_url();?>"><strong><?php _e("See all offers"'modern'); ?> &raquo;</strong></a></p>
                        <?php ?>
                    <?php View::newInstance()->_erase('items'); } ?>
                </div>

design

  • Hero Member
  • *****
  • Posts: 2619
  • Osclass 3.5 MAC/PC w/ Modern Browsers
Re: change latest listing to a specific category
« Reply #2 on: November 20, 2013, 01:57:11 am »
I tried something from teseo and as I removed the code in main.php I noticed the original isn't even showing the latest ad, but it was with teseo's code..to weird. so I have to redo all of it, strange it doesn't work out of the box.

thank you, I did find the fix in the helper docs..forgot to look there first  ::)

frosticek

  • Hero Member
  • *****
  • Posts: 3948
Re: change latest listing to a specific category
« Reply #3 on: November 20, 2013, 02:26:14 am »
@design

Easy solutions are best solutions  ;)

design

  • Hero Member
  • *****
  • Posts: 2619
  • Osclass 3.5 MAC/PC w/ Modern Browsers
Re: change latest listing to a specific category
« Reply #4 on: November 20, 2013, 10:28:04 pm »
I am still not getting this right… can I have both latest listings and in another area, latest listings for a category?

I am using a fresh copy of moderns main.php and right from the start it is not showing the latest ads unless I add this to it, which is obviously wrong because it is pulling all of the ads not just jobs(8). I tried yours and shows the same 3 ads, there have sense been 2 regular ads and jobs ads

Code: [Select]
<?php osc_query_item("category_name=jobs"); 
if( 
osc_count_items() == 0) { ?>

    <p class="empty"><?php _e('No Listings''modern') ; ?></p>
<?php } else { ?>
    <table border="0" cellspacing="0">
         <tbody>
            <?php $class "even"?>
            <?php while ( osc_has_custom_items() ) { ?>
             <tr class="<?php echo $class. (osc_item_is_premium()?" premium":"") ; ?>">
                    <?php if( osc_images_enabled_at_items() ) { ?>
                     <td class="photo">
                        <?php if( osc_count_item_resources() ) { ?>
                            <a href="<?php echo osc_item_url() ; ?>">
                                <img src="<?php echo osc_resource_thumbnail_url() ; ?>" width="75" height="56" title="<?php echo osc_item_title(); ?>" alt="<?php echo osc_item_title(); ?>" />
                            </a>
                        <?php } else { ?>
                            <img src="<?php echo osc_current_web_theme_url('images/no_photo.gif') ; ?>" alt="" title=""/>
                        <?php ?>
                     </td>
                    <?php ?>
…cut

teseo

  • Hero Member
  • *****
  • Posts: 6169
Re: change latest listing to a specific category
« Reply #5 on: November 21, 2013, 12:51:34 am »
Hi,

For that I think the best option is to leave Latest Items just for the first use, and then use custom queries for the rest:

http://doc.osclass.org/Display_only_certain_type_of_listings

A little example to get the ads from a given region:

Code: [Select]
osc_query_item(array('region'=>'Delaware')) ;

        if(osc_count_custom_items() > 0 ) {
        while(osc_has_custom_items()) {

But you can query for cities, users, categories... see the list at the end of that doc.

Regards

design

  • Hero Member
  • *****
  • Posts: 2619
  • Osclass 3.5 MAC/PC w/ Modern Browsers
Re: change latest listing to a specific category
« Reply #6 on: November 21, 2013, 01:37:10 am »
I did, this works, but I found out that because I am creating ads in different themes, it is not working. some sort of token issue.

bikramshakya

  • Newbie
  • *
  • Posts: 13
Re: change latest listing to a specific category
« Reply #7 on: January 26, 2018, 07:05:01 pm »
I want to show in grid view