dexus Posted September 24, 2008 Share Posted September 24, 2008 I just found this in v3.7.1... issue 473 : http://dev.whmcs.com/index.php?version=18 Why are hosting account/product lists now combined? It was much better to be separated so we can also use WHMCS to sell some other services and products like design, programming, software etc. Why would that be combined now with hosting packages...? I really loved that WHMCS have that separated client page for other services. I really don't see any reason for this to be combined. What do you think about this? 0 Quote Link to comment Share on other sites More sharing options...
marquis_ce Posted September 24, 2008 Share Posted September 24, 2008 Thats why i login the forum right now to write the same comments. My hosting packages and other services are really different things for me. I want to see them in seperate. 0 Quote Link to comment Share on other sites More sharing options...
dexus Posted September 27, 2008 Author Share Posted September 27, 2008 I am really disapointed with this... Is there any logical explanation about this modification? 0 Quote Link to comment Share on other sites More sharing options...
rmccny Posted September 27, 2008 Share Posted September 27, 2008 I am guessing it was done to prevent customer confusion. The customer now can go to a single location to view all of their purchases, instead of clicking around to find them. While we may not like it, from a customer perspective it is much more organized. 0 Quote Link to comment Share on other sites More sharing options...
dexus Posted September 27, 2008 Author Share Posted September 27, 2008 How can it be more organised when you mix two different service types. How is more organised when client have 10 web hosting packages, 5 web design projects and 2 software licenses and all that is on one page instead to be separated as hosting and other product/services like before...? 0 Quote Link to comment Share on other sites More sharing options...
rmccny Posted September 27, 2008 Share Posted September 27, 2008 The very fact that the information is centralized on one page improves the client areas overall organization. It's not that I don't agree with you; to a point I do. I would like to keep all items on the product & services page, but have the items grouped by product group displayed in separate tables. i.e. Shared Hosting - Plan1 domain.com ... Software Licenses - Product 1 somescriptisell ... - Product 2 another software license ... 0 Quote Link to comment Share on other sites More sharing options...
dexus Posted September 27, 2008 Author Share Posted September 27, 2008 I have to agree with you, if they will be on one page "product & services" than products should be at least somehow separated on that page or maybe some sub-pages. Also I have to add that separate tables would not really be a solution because for example we have clients with more than 50 hosting/services so those services must be split on multiple pages, and in that case it would not be possible to have them grouped in separate tables only, so that would again require separate pages (sub-pages) for different product groups. 0 Quote Link to comment Share on other sites More sharing options...
chickendippers Posted September 27, 2008 Share Posted September 27, 2008 They should definitely be split up somehow; mushing them all together looks very messy and not user friendly. 0 Quote Link to comment Share on other sites More sharing options...
Emerson Posted September 28, 2008 Share Posted September 28, 2008 I also agree that thigs should be separated. At a minimum display links(something like sub-categories: Hosting packages, Services, Products, etc...) where a customer can click to view just the items under that sub-category. On another note another thing I would love to see separated are VPS and dedicated servers. A VPS is really a mix of shared and dedicated and as such should have it's own category. It woul make it much easier to keep track as well as improve revenue reporting. 0 Quote Link to comment Share on other sites More sharing options...
marquis_ce Posted October 17, 2008 Share Posted October 17, 2008 Matt or any other admin reading these posts? Do they have any idea for new version? Or have an explanation for combining them into one? 0 Quote Link to comment Share on other sites More sharing options...
redrat Posted October 17, 2008 Share Posted October 17, 2008 You've got my vote to have them separated somehow...just categorised would be best if on one page. It does look messy and confusing otherwise. Clients expect good presentation. Any chance of this being picked up Matt? 0 Quote Link to comment Share on other sites More sharing options...
Zorro67 Posted October 18, 2008 Share Posted October 18, 2008 AFAIK, you can go back and hack the templates and menus if you want. I've left some of the pages & menu items from v3.7.1 with "my hosting" separated from other services, as well as the new 3.7.2 combined details on "my products & services". I'm confident you could also remove the hosting info from the other services if you wanted. It would just require you to compare menus before & after to see what you want to keep. 0 Quote Link to comment Share on other sites More sharing options...
sparky Posted October 18, 2008 Share Posted October 18, 2008 (edited) Here's a quick little mod to display the products into separate groups. It also displays the same sort order that your groups are in. Replace the code in clientareaproducts.tpl in your template folder with the below code. <p class="heading2">{$LANG.clientareaproducts}</p><table width="100%" cellspacing="0" cellpadding="0"><tr><td>{$numproducts} {$LANG.recordsfound}, {$LANG.page} {$pagenumber} {$LANG.pageof} {$totalpages}</td><td align="right">{if $prevpage}<a href="clientarea.php?action=products&page={$prevpage}">{/if}« {$LANG.previouspage}{if $prevpage}</a>{/if} {if $nextpage}<a href="clientarea.php?action=products&page={$nextpage}">{/if}{$LANG.nextpage} »{if $nextpage}</a>{/if}</td></tr></table> <br /> {if $services} {php}$result = mysql_query("SELECT tblproductgroups.name FROM tblproductgroups ORDER BY `order` ASC");while ($data = @mysql_fetch_array ($result)) { $this->assign('groupheader',$data['name']);{/php} {assign var=disphead value=1} {foreach name=displaylist key=num item=service from=$services} {if $service.group eq $groupheader} {if $disphead} <table class="clientareatable" cellspacing="1"><tr class="clientareatableheading" style="text-align:left;"><td colspan="6"> {$groupheader}</td></tr><tr class="clientareatableheading"><td>{$LANG.orderproduct}</td><td>{$LANG.orderprice}</td><td>{$LANG.orderbillingcycle}</td><td>{$LANG.clientareahostingnextduedate}</td><td width="20"></td></tr>{assign var=disphead value=0} {/if} <tr class="clientareatable{$service.class}"><td>{$service.product}{if $service.domain}<br /><a href="http://{$service.domain}" target="_blank">{$service.domain}</a>{/if}</td><td>{$currencysymbol}{if $service.recurringamount neq "0.00"}{$service.recurringamount}{else}{$service.firstpaymentamount}{/if} {$currency}</td><td>{$service.billingcycle}</td><td>{$service.nextduedate}</td><td><form method="post" action="{$SERVER.PHP_SELF}?action=productdetails"><input type="hidden" name="id" value="{$service.id}" /><input type="image" src="images/viewdetails.gif" alt="{$LANG.clientareaviewdetails}" /></form></td></tr> {/if} {if $smarty.foreach.displaylist.last} {if !$disphead}</table><br />{/if} {assign var=disphead value=1} {/if} {/foreach} {php} } {/php} {else} <table class="clientareatable" cellspacing="1"><tr class="clientareatableheading" style="text-align:left;"><td colspan="6"> </td></tr><tr class="clientareatableheading"><td>{$LANG.orderproduct}</td><td>{$LANG.orderprice}</td><td>{$LANG.orderbillingcycle}</td><td>{$LANG.clientareahostingnextduedate}</td><td width="20"></td></tr><tr class="clientareatableactive"><td colspan="6">{$LANG.norecordsfound}</td></tr></table> {/if} <table width="100%" cellspacing="0" cellpadding="0"><tr><td>{$LANG.show}: <a href="clientarea.php?action=products&itemlimit=10">10</a> <a href="clientarea.php?action=products&itemlimit=25">25</a> <a href="clientarea.php?action=products&itemlimit=50">50</a> <a href="clientarea.php?action=products&itemlimit=100">100</a> <a href="clientarea.php?action=products&itemlimit=all">{$LANG.all}</a></td><td align="right">{if $prevpage}<a href="clientarea.php?action=products&page={$prevpage}">{/if}« {$LANG.previouspage}{if $prevpage}</a>{/if} {if $nextpage}<a href="clientarea.php?action=products&page={$nextpage}">{/if}{$LANG.nextpage} »{if $nextpage}</a>{/if}</td></tr></table> <table align="center"><tr><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatableactive"><td></td></tr></table></td><td>{$LANG.clientareaactive}</td><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatablepending"><td></td></tr></table></td><td>{$LANG.clientareapending}</td><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatablesuspended"><td></td></tr></table></td><td>{$LANG.clientareasuspended}</td><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatableterminated"><td></td></tr></table></td><td>{$LANG.clientareaterminated}</td></tr></table> EDIT: @Bear/Matt - Could you please move this post to User Contributions Edited October 18, 2008 by sparky 0 Quote Link to comment Share on other sites More sharing options...
redrat Posted October 18, 2008 Share Posted October 18, 2008 Thank you for this sparky. It is a shame really that this is not simply incorporated into WHMCS. Anyway, good stuff! 0 Quote Link to comment Share on other sites More sharing options...
sparky Posted October 18, 2008 Share Posted October 18, 2008 No Problem... Glad to help 0 Quote Link to comment Share on other sites More sharing options...
Si Posted October 19, 2008 Share Posted October 19, 2008 Here's a quick little mod to display the products into separate groups.It also displays the same sort order that your groups are in. Replace the code in clientareaproducts.tpl in your template folder with the below code. EDIT: @Bear/Matt - Could you please move this post to User Contributions Brilliant....just brilliant. thank you for this sparky. This should definitely be a standardised part of WHMCS templates. I really needed this for some of my clients. Si 0 Quote Link to comment Share on other sites More sharing options...
Si Posted October 19, 2008 Share Posted October 19, 2008 Heads up: Oh dear, just as I posted that, I noticed a problem. Pagination isn't working with the template code above. Clicking on the NEXT PAGE just loads back the first page. 0 Quote Link to comment Share on other sites More sharing options...
Si Posted October 19, 2008 Share Posted October 19, 2008 FIXED: There were just a few spaces etc that were missing in the code above ie $prevpage was showing as $prev page when it was copied and pasted from sparky's post above, so I've cleaned it up and here it is in code box for anyone who wants a clean copy. Hope you don't mind sparky. Si <p class="heading2">{$LANG.clientareaproducts}</p> <table width="100%" cellspacing="0" cellpadding="0"><tr><td>{$numproducts} {$LANG.recordsfound}, {$LANG.page} {$pagenumber} {$LANG.pageof} {$totalpages}</td><td align="right">{if $prevpage}<a href="clientarea.php?action=products&page={$prevpage}">{/if}« {$LANG.previouspage}{if $prevpage}</a>{/if} {if $nextpage}<a href="clientarea.php?action=products&page={$nextpage}">{/if}{$LANG.nextpage} »{if $nextpage}</a>{/if}</td></tr></table> <br /> {if $services} {php}$result = mysql_query("SELECT tblproductgroups.name FROM tblproductgroups ORDER BY `order` ASC");while ($data = @mysql_fetch_array ($result)) { $this->assign('groupheader',$data['name']);{/php} {assign var=disphead value=1} {foreach name=displaylist key=num item=service from=$services} {if $service.group eq $groupheader} {if $disphead} <table class="clientareatable" cellspacing="1"><tr class="clientareatableheading" style="text-align:left;"><td colspan="6"> {$groupheader}</td></tr><tr class="clientareatableheading"><td>{$LANG.orderpro duct}</td><td>{$LANG.orderprice}</td><td>{$LANG.orderbillingcycle}</td><td>{$LANG.clientareahostingnextduedate}</td><td width="20"></td></tr>{assign var=disphead value=0} {/if} <tr class="clientareatable{$service.class}"><td>{$serv ice.product}{if $service.domain}<br /><a href="http://{$service.domain}" target="_blank">{$service.domain}</a>{/if}</td><td>{$currencysymbol}{if $service.recurringamount neq "0.00"}{$service.recurringamount}{else}{$service.f irstpaymentamount}{/if} {$currency}</td><td>{$service.billingcycle}</td><td>{$service.nextduedate}</td><td><form method="post" action="{$SERVER.PHP_SELF}?action=productdetails"> <input type="hidden" name="id" value="{$service.id}" /><input type="image" src="images/viewdetails.gif" alt="{$LANG.clientareaviewdetails}" /></form></td></tr> {/if} {if $smarty.foreach.displaylist.last} {if !$disphead}</table><br />{/if} {assign var=disphead value=1} {/if} {/foreach} {php} } {/php} {else} <table class="clientareatable" cellspacing="1"><tr class="clientareatableheading" style="text-align:left;"><td colspan="6"> </td></tr><tr class="clientareatableheading"><td>{$LANG.orderpro duct}</td><td>{$LANG.orderprice}</td><td>{$LANG.orderbillingcycle}</td><td>{$LANG.clientareahostingnextduedate}</td><td width="20"></td></tr><tr class="clientareatableactive"><td colspan="6">{$LANG.norecordsfound}</td></tr></table> {/if} <table width="100%" cellspacing="0" cellpadding="0"><tr><td>{$LANG.show}: <a href="clientarea.php?action=products&itemlimit=10">10</a> <a href="clientarea.php?action=products&itemlimit=25">25</a> <a href="clientarea.php?action=products&itemlimit=50">50</a> <a href="clientarea.php?action=products&itemlimit=100">100</a> <a href="clientarea.php?action=products&itemlimit=all">{$LANG.all}</a></td><td align="right">{if $prevpage}<a href="clientarea.php?action=products&page={$prevpage}">{/if}« {$LANG.previouspage}{if $prevpage}</a>{/if} {if $nextpage}<a href="clientarea.php?action=products&page={$nextpage}">{/if}{$LANG.nextpage} »{if $nextpage}</a>{/if}</td></tr></table> <table align="center"><tr><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatableactive"><td></td></tr></table></td><td>{$LANG.clientareaactive}</td><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatablepending"><td></td></tr></table></td><td>{$LANG.clientareapending}</td><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatablesuspended"><td></td></tr></table></td><td>{$LANG.clientareasuspended}</td><td width="10" align="right"><table style="width:10px;height:10px;" cellspacing="1" class="clientareatable"><tr class="clientareatableterminated"><td></td></tr></table></td><td>{$LANG.clientareaterminated}</td></tr></table> 0 Quote Link to comment Share on other sites More sharing options...
sparky Posted October 19, 2008 Share Posted October 19, 2008 No problem Si... that will teach me for pasting into quote tags instead of code tags on the forum. I hope everyone finds it useful. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.