Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Homar

  1. I've got to disagree with you on this Rob. PageRank is a score that represents how Google view the quality of your website content. The actual mathematics behind it is very complex. In general, how your page ranks for a particular term is determined by the relevance of your site to that term, the number of links to your site that feature keywords that are relevant to the search term, and your PageRank. Let's face it, if Google think very little of your site's content, they are hardly going to rank your site highly for a competitive word or phrase. As rob said, different servers may register different PageRanks for your site. I'm not sure if this is because your site may be more relevant to certain geographic regions (where the servers are located), or if it just takes time for the servers to synchronize the data. Google have changed their PageRank algorithm numerous times recently. Many people are outraged as their website that once ranked no.1 is now on page 3! Some websites will allow you to check the PageRank of your website on many different Google servers. If they all show PR1, that's your new PageRank. As I said, it may have decreased due to an algorithm update. Alternatively, you may have lost some links from high PR and relevant websites. It may just take time to get to where you were.
  2. Homar

    Mals ecommerce

    If you have 19 sites on a single server, you could buy a Wildcard SSL cert.
  3. Homar

    Mals ecommerce

    You can get a RapidSSL certificate for $15 per year (just not direct from GeoTrust). You'll need a dedicated IP (usually $1 or $2 per month).
  4. Find tutorials on cart mods by searching fora. Briefly, find {name} of function, delete or move in templates, such as index.tpl. The tag you're looking for is in: styleTemplates/global/index.tpl
  5. I'd go with a private certificate. As cmc_entertainment said, you can get pretty cheap certificates online. You can buy RapidSSL certificates for $15. You'll need a dedicated IP address (usually $1 or $2 per month). Remember that if you use a shared SSL, visitors will get those horrible warning messages.
  6. No problem. $90 per month for 512Mb seems very pricey to me. I know a highly regarded (on WHT) VPS provider that offers 450Gb bandwidth, 512Mb SLM RAM, 30Gb SA-SCSI Disk Space + 2 IPs included. This includes management. They will setup your VPS completely. They'll also secure your VPS on request. Need PHP updating, compiling etc. just ask them and they'll do it for you. This is the advantage of management. They offer all of this (+ cPanel) for $55 per month (+ they have 15% off for life at the moment). Their ticket response is very fast (usually within minutes) and they actually know what they're talking about! You'd be surprised at the number of VPS providers who don't have a clue when it comes to SSH etc. Unless a company offer a specific service (e.g. UK servers), I wouldn't consider a company who charged over $70 per month (for 512Mb).
  7. I think memory will be your biggest bottleneck. MySQL databases can also eat up many CPU cycles. Most VPS providers allocate CPU based on your memory share (i.e. the more memory you have, the greater the share of the CPU you'll be entitled to use). Remember that Linix works differently to Windows in that Linux tries to consume all the available memory (even though it may not be needed). You'll need to use the appropriate command/tool to find your actual memory usage. It seems strange that you would not be able to remove/configure Apache. With a VPS, you usually get root access and so can install and configure pretty much what you want. If you go for a stripped down control panel, Apache will probably be your biggest memory hog. I hear that LiteSpeed uses much fewer resources and servers PHP 50% faster - it's the big topic at WHT (WebHostingTalk). LiteSpeed is great since it supports mod_rewrite and other modules. You should just be able to disable Apache and then enable LiteSpeed - and everything works. As far as stripped down control panels go, I hear LxLabs Host-In-A-Box is the best. They claim that you can serve 8 million hits per day on 100Mb RAM. I'm not sure if this is true, but it is certainly a popular choice. The control panel only consumes 15Mb of RAM (but that's with Lighttpd running instead of Apache). With Apache, I'd expect this to be considerably more. If you use Apache, you'll definitely want to do some optimization. There are also many great tutorials on the web that will show you how to optimize Apache, MySQL and secure your environment. If you want to run a email server, you should not install any SPAM filtering software. These can easily consume 100Mb of RAM. Having said all of this, give it a go with the provider's recommended setup (note: you'll still need to secure your VPS if they won't). If your VPS is slow, processes stop responding or your VPS goes down - you'll know that it's time to do some optimizing. You should always optimize and end unnecessary processes in addition to upgrading RAM.
  8. Both Plesk and cPanel are resource hogs. I don't think you'll get either cPanel or Plesk up and running with Apache, PHP etc. on 256Mb RAM. Depending on the number of visitors you get, I would suggest 500Mb RAM and upwards. You should probably look to LiteSpeed instead of Apache. You'll also want to do some PHP and MySQL optimizing. That means, go for managed if you've not got much experience with Linux from a command line. Management will usually cover a control panel installation, software updates, kernel updates, php compiles, security hardening, iptables based firewall installation etc.
  9. The UPS module only works when the origin (store) address in in the US.
  10. Not sure if you have solved this yet. Indeed this actually appears to be an issue with the CubeCart code. Almost everyone will not see these errors because hosts usually set the PHP.ini file (a setting) to not display all errors. When display all errors is enabled, you see these errors. I would contact your host!
  11. Thanks! I've put it up on cubecartforums.org. I'm now in the process of uploading a demo CubeCart shop with the mods and tweaks I've made.
  12. I've finally managed to integrate some CSS tabs into the view product page. It's not a quick and easy process, so I thought that I'd post my progress in case anyone wants somthing similar. The aim was to place product details (such as Description, Specifications, Reviews) inside CSS tabs - rather similar to ebuyer.com. It just seems to me like a better way of displaying information to visitors. Firstly, I started by downloading the selection of CSS tab images made available at exploding-boy.com. If you do a Google search for 'CSS tabs', you'll find it instantly Now, you need to edit YOUR_SKIN/styleTemplates/content/viewProd.tpl. Open this file up with a HTML editor. You'll need to add some javascript code to that file. It is important that you place the javascript where you want to place the tabs. So decide where you want the tabs to go (I suggest after the div containing the {LANG_MORE_IMAGES} tag) and paste the following code there exactly: <script type="text/javascript"> /*********************************************** * DD Tab Menu script- © Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ //Set tab to intially be selected when page loads: //[which tab (1=first tab), ID of tab content to display (or "" if no corresponding tab content)]: var initialtab=[1, "sc1"] //Turn menu into single level image tabs (completely hides 2nd level)? var turntosingle=0 //0 for no (default), 1 for yes //Disable hyperlinks in 1st level tab images? var disabletablinks=0 //0 for no (default), 1 for yes ////////Stop editting//////////////// var previoustab="" if (turntosingle==1) document.write('<style type="text/css">\n#tabcontentcontainer{display: none;}\n</style>') function expandcontent(cid, aobject){ if (disabletablinks==1) aobject.onclick=new Function("return false") if (document.getElementById && turntosingle==0){ highlighttab(aobject) if (previoustab!="") document.getElementById(previoustab).style.display="none" if (cid!=""){ document.getElementById(cid).style.display="block" previoustab=cid } } } function highlighttab(aobject){ if (typeof tabobjlinks=="undefined") collecttabs1() for (i=0; i<tabobjlinks.length; i++) tabobjlinks[i].className="" aobject.className="current" } function collecttabs1(){ var tabobj=document.getElementById("tabs1") tabobjlinks=tabobj.getElementsByTagName("A") } function do_onload(){ collecttabs1() expandcontent(initialtab[1], tabobjlinks[initialtab[0]-1]) } if (window.addEventListener) window.addEventListener("load", do_onload, false) else if (window.attachEvent) window.attachEvent("onload", do_onload) else if (document.getElementById) window.onload=do_onload </script> Just below the final line of the code you pasted above, I pasted the following HTML code: <div id="tabs1"> <ul> <li><a onClick="expandcontent('sc1', this)" title="Description"><span>Description</span></a></li> <li><a onClick="expandcontent('sc2', this)" title="Specifications"><span>Specifications</span></a></li> <li><a onClick="expandcontent('sc3', this)" title="Reviews"><span>Reviews</span></a></li> </ul> </div> You can see from the above code that there will be 3 tabs (Description, Specifications, and Reviews). You should change these as you wish. You can add or remove as many tabs as you want. Note that each tab should contain a unique reference. You can see that from the above code, I've used 'sc1', 'sc2' and 'sc3'. If you're going to add additional tabs, make sure that you add another reference (e.g. sc4 etc.). Immediately below the final line of code that you added above, paste the following HTML code: <DIV id="tabcontentcontainer"> <div id="sc1" class="tabcontent"> <div align="left"> <p>{TXT_DESCRIPTION}</p> <p> </p> </div> </div> <div id="sc2" class="tabcontent"> <div align="left"> <p>Product specifications - Coming Soon!</p> <p> </p> </div> </div> <div id="sc3" class="tabcontent"> <div align="left"> <p>Product reviews - Coming Soon!</span>!</p> <p> </p> </div> </div> </DIV> You should notice how in the above code, each div is assigned a reference ID. This should match the reference that was specified earlier when creating the links (tabs) to the content. For example, the reference to 'sc3' will display the div with the ID="sc3" in the above code. I now went onto add the following CSS to YOUR_SKIN/styleSheets/layout.css. Simply paste the following code below the last line of the layout.css file: #tabcontentcontainer{ width:95%; /*width of 2nd level content*/ padding-top:10px; } #tabs1 { float:left; width:100%; font-size:93%; line-height:normal; border-bottom:1px solid #BCD2E6; } #tabs1 ul { margin:0; padding:10px 10px 0 20px; list-style:none; } #tabs1 li { display:inline; margin:0; padding:0; } #tabs1 a { float:left; background:url("tableft1.gif") no-repeat left top; margin:0; padding:0 0 0 4px; text-decoration:none; } #tabs1 a span { float:left; display:block; background:url("tabright1.gif") no-repeat right top; padding:5px 15px 4px 6px; color:#627EB7; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ #tabs1 a span {float:none;} /* End IE5-Mac hack */ #tabs a:hover span { color:#627EB7; } #tabs1 a:hover { background-position:0% -42px; cursor:pointer; } #tabs1 a:hover span { background-position:100% -42px; } .tabcontent{ display:none; } Finally, inside your styleSheets folder, upload the 2 images from exploding-boy.com that you want to use. Ensure that you rename them to tableft1.gif and tabright1.gif if you decided not to use those 2 images for your tabs. You can play around with the CSS and HTML code in order to get things looking the way you want. Using the example I demonstarted above, you'll end up with 3 tabs. One tab will contain your product's description. The other 2 are simply placeholders to demonstrate how you can have multiple tabs. I actually went on from here to further modify CubeCart by creating a 'specification' field for each product in the database, adding an FCKedit area in the 'add product' section of the admin panel and assigning the field a tag in the viewProd.inc.php file. That allows me to add 'product specifications' to each product
  13. Why not start by taking a look at the skins which come with CubeCart. I usually start with the Killer skin and completly modify it step by step. It is certainly the easiest way of doing things. You'll need to gain some CSS and HTML experience first though.
  14. Yeah. The problem is that the tags are assigned by the tellafriend.inc.php. I've tried to assign these tags in viewProd.inc.php by copying and pasting with no luck.
  15. Hi Guys! Do any of you know how it would be possible to integrate the Tell A Friend form into the viewProd.tpl. I've tried redirecting this line in includes/content/tellafriend.inc.php to the viewProd.tpl with no luck: $tellafriend=new XTemplate ("skins/".$config['skinDir']."/styleTemplates/content/tellafriend.tpl"); I'm not sure how the xtemplating system works - which is why my logic doesn't provide a solution Thanks for all the help!
  16. Absolutely, please feel free to add it to your guide! With regards to Robsta's comment, that would probably be a better way of doing things. You'll need to integrate the $config['productPrecis']) variable, replacing the '300' character limit that I stated above. That will allow users to change the variable from their admin panel. Cheers All!
  17. I'd use javascript to create a rotating advertisement. Do a google search for "DHTML Banner Ad Rotator". You should then add a new div to YOUR_SKIN/styleTemplates/global/index.tpl I'd add the div beneath the div which contains the Categories tag. Then simply incorporate the DHTML Banner Ad script (or some other script) into that div. You'll of course need to upload the banner ad script to your server, ensuring the links in the index.tpl file point to the right directory where you'll be keeping that banner ad rotator. Hope this helps!
  18. This assumes that you're using CubeCart v3 - I'm not sure how the versions differ. Open up /includes/content/index.inc.php with dreamweaver or a text editor. Then find the line: $index->parse("index.latest_prods.repeat_prods"); Under the above line, add the following lines of code: $index->assign("BTN_BUY",$lang['front']['viewCat']['buy']); $index->assign("BTN_MORE",$lang['front']['viewCat']['more']); Save and upload that file to your server. Now, open up /YOUR_SKIN/styleTemplates/content/index.tpl You should now be able to add the following tags where you'd like to place the buttons: {BTN_BUY} {BTN_MORE} I hope that helps!
  19. To add this mod to the viewCat files: Add the function to the top of the viewCat.inc.php file, then find the following line: $view_cat->assign("TXT_DESC",substr(strip_tags($productResults[$i]['description']),0,$config['productPrecis'])."&hellip;"); Replace this with: $view_cat->assign("TXT_DESC",strtrim(strip_tags($productResults[$i]['description']),300)."&hellip;");
  20. Never mind, I just found a great little tutorial on CC3.biz that does this perfectly - implemented in 2 minutes! Thanks for the great guide MarksCarts! I just wish that I'd found it sooner! OK... MarksCarts guide shortens the description using the 'substr' PHP function. That results in words being cut off. For example: Original Description: This is a description of a product. Truncated Description: This is a descr... If you want to truncate (shorten) the description without cutting into words, you should follow MarksCarts guide on CC3.biz (titled 'Add Description to Latest Product Images'). However, instead of doing step 4 & 5, do the following: Add the following code exactly to the top of the index.inc.php file: //Function to trim string using words function strtrim($str, $maxlen=500, $elli=NULL, $maxoverflow=15) { global $CONF; if (strlen($str) > $maxlen) { if ($CONF["BODY_TRIM_METHOD_STRLEN"]) { return substr($str, 0, $maxlen); } $output = NULL; $body = explode(" ", $str); $body_count = count($body); $i=0; do { $output .= $body[$i]." "; $thisLen = strlen($output); $cycle = ($thisLen < $maxlen && $i < $body_count-1 && ($thisLen+strlen($body[$i+1])) < $maxlen+$maxoverflow?true:false); $i++; } while ($cycle); return $output.$elli; } else return $str; } Now find the following line of code: $index->assign("VAL_PRODUCT_NAME",validHTML($latestProducts[$i]['name'])); Below it, add this line of code: $index->assign("VAL_PROD_DESC",strtrim(strip_tags($latestProducts[$i]['description']),300)."…"); Now, you see in the above code the number '300'. This tells the script to shorten the description to 300 characters without cutting into words! Simply change the value '300' to what you want the maximum character length of your short description to be. You can perform pretty much the same mod to the /includes/content/viewCat.inc.php and SKIN_NAME/styleTemplates/content/viewCat.tpl files in order to prevent incomplete words being displayed when browsing through the categories and a search result. I hope this helps anyone who was having the same problems as me! P.S. I'm not that great with PHP so there is probably a much easier and quicker way to perform this task. :)
  21. Does anyone know how to set a word limit on the product description so as perhaps 20 words can be added to each product in the 'Latest Products' box - followed by a '...' to show that there is more to read. I probably didn't make what I'm trying to achieve clear, so here's an example: Cheers!
  22. Hi, I'm working on a modified version of the Killer skin. I've attached an annotated screenshot but i'll explain quickly what I'm trying to do. The bottom of the tabs is by default positioned about half way down the blue horizontal bar (i.e. the repeated catBg.gif image). I'm trying to move the tabs upwards so as the bottom of the tabs lies flush with the top of the blue horizontal bar. I've been searching for a way to do this for hours with no result . Any help will be hugely appreciated Thanks, Homar!
  • Create New...