【问题标题】:Osclass display locations on sidebar侧边栏上的 Osclass 显示位置
【发布时间】:2017-03-04 21:51:34
【问题描述】:

我有问题需要这样显示位置:

-国家

--区域

---城市

-国家

--区域

---城市

我有国家和地区,但我不知道如何按地区显示城市。

这是我的代码:`

                    <?php if(osc_count_countries() > 0 ) { ?>

                    <div class="box location">

                        <h3><strong><?php _e("Location", 'bender') ; ?></strong></h3>

                        <ul>

                        <?php while(osc_has_countries() ) { ?>

                            <li><a href="<?php echo osc_country_url( array( 'sCountry' => osc_list_country_code() ) ) ; ?>"><?php echo osc_country_name() ; ?> <em>(<?php echo osc_country_items() ; ?>)</em></a></li>





                        <?php  if (osc_country_name() =='Austria')  { ?>

                            <ul>

                                <?php View::newInstance()->_erase('regions');







        View::newInstance()->_exportVariableToView('regions', Search::newInstance()->listRegions('AT', '>') ) ; 



                                if(osc_count_regions('AT') > 0 ) { 



                                while(osc_has_regions('AT') ) { ?>

                                    <li><a href="<?php echo osc_search_url(array('sRegion' => osc_region_name()));?>"><?php echo osc_region_name() ; ?> <em>(<?php echo osc_region_items() ; ?>)</em></a></li>

                                <?php } ?>   

                            </ul>

                            <?php }  ?>







                        <?php }  ?>`

请帮帮我

【问题讨论】:

    标签: php mysql location osclass


    【解决方案1】:

    你看过文档中的助手吗?

    https://doc.osclass.org/HLocation.php

    与列表国家和地区颇为相似:

    <?php if(osc_count_countries() > 0 ) { ?>  
        <?php while(osc_has_countries()) { ?>
            ...
        <?php } ?>  
    <?php } ?> 
    
    <?php if(osc_count_regions() > 0 ) { ?>  
        <?php while(osc_has_regions()) { ?>
            ...
        <?php } ?>  
    <?php } ?> 
    

    但是:

    <?php if(osc_count_cities() > 0 ) { ?>  
        <?php while(osc_has_cities()) { ?>
            ...
        <?php } ?>  
    <?php } ?>  
    

    好的,下面是完整的代码:

    <?php if(osc_count_countries() > 0 ) { ?>
        <?php while(osc_has_countries()) { ?>
            <li><a href="<?php echo osc_country_url();?>"><?php echo osc_country_name() ; ?> <em>(<?php echo osc_country_items() ; ?>)</em></a></li>
            <?php if(osc_count_regions() > 0 ) { ?> 
                <?php while(osc_has_regions()) { ?> 
                    <li><a href="<?php echo osc_region_url();?>">-<?php echo osc_region_name() ; ?> <em>(<?php echo osc_region_items() ; ?>)</em></a></li>
                    <?php if(osc_count_cities(osc_list_region_id()) > 0 ) { ?>  
                        <?php while(osc_has_cities()) { ?>
                            <li><a href="<?php echo osc_city_url();?>">--<?php echo osc_city_name() ; ?> <em>(<?php echo osc_city_items() ; ?>)</em></a></li>
                        <?php } ?>  
                    <?php } ?>
                <?php } ?>
            <?php } ?>
        <?php } ?> 
    <?php } ?> 
    

    这将加载所有国家>>地区>>城市,例如:

    • 国家

      • 地区
        • 城市
    • 国家

      • 地区
        • 城市

    ... 这是一堆数据,具体取决于您拥有多少个城市。 因此,我建议您改用 Ajax。

    /index.php?page=ajax&action=cities&regionId=%

    【讨论】:

    • 如何获取区域 ID?
    • 它不起作用....我有错误:致命错误:在 /home/u575073028/public_html/oc-includes/osclass/core 中允许的内存大小为 134217728 字节已用尽(尝试分配 1048576 字节) /View.php 在第 67 行并且没有城市,它也显示错误,例如:国家和所有地区以及国家...
    • 就像我说的,它会加载大量数据。增加 php.ini(服务器端)的内存限制,以防它不是共享主机,否则您必须联系您的主机提供商这样做,在大多数情况下,这通常会被拒绝。如果您有 root 访问权限,这很可能是 VPS 或专用服务器,您应该在 /etc/php5/apache2/php.ini 找到 php.ini 文件,或者您可以使用以下命令确定位置:。但同样,我不建议在加载网页时加载这么多数据。改用 Ajax!
    • 但没有部分城市不工作,它显示国家,但在第一个国家下显示所有地区,而不是其他国家。我只想显示国家、地区和城市,只有项目,城市按地区排序,如树形菜单......
    • 嗯,这在原帖中没有提到。我认为这可以解决仅显示带有活动项目的位置的技巧:forums.osclass.org/general-help/… 我还没有测试过代码,但对我来说看起来还可以。
    【解决方案2】:

    我尝试使用来自http://forums.osclass.org/general-help/get-'navigation'-to-show-cities-instead-of-region/的代码

    <ul>
    <?php while(osc_has_list_regions()) { ?>
        <li> <a href="<?php echo osc_update_search_url( array( 'sRegion'=>osc_list_region_name(), 'sCity'=>'' ) ); ?>"><?php echo osc_list_region_name(); ?></a> <em>(<?php echo osc_list_region_items(); ?>)</em>
            <?php if ( osc_count_list_cities(osc_list_region_name()) > 0 ) { ?>
                <ul>
                    <?php while( osc_has_list_cities() ) { ?>
                        <li> <a href="<?php echo osc_update_search_url( array( 'sRegion'=>osc_list_region_name(), 'sCity' => osc_list_city_name() ) ); ?>"><?php echo osc_list_city_name(); ?></a> <em>(<?php echo osc_list_city_items(); ?>)</em> </li>
                    <?php } ?>
                </ul>
            <?php } ?>
        </li>
    <?php } ?>
    

    但是此代码显示区域和所有区域的所有城市,如何仅使用项目显示区域及其城市...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-17
      • 2022-08-19
      • 2020-05-27
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      相关资源
      最近更新 更多