Drop all tables in MySQL via SSH
create a new file called 'drop_all_tables.sh'
vi drop_all_tables.sh
A web and systems development journal (from a–too busy–web developer who does a lot of various IT work.)
create a new file called 'drop_all_tables.sh'
vi drop_all_tables.sh
If you're trying to reindex data under "Index Management" but can't, do the following to fix the problem...
in SSH.
rm -rf var/locks/*
Now try again, and you should be successful
If that doesn't work, also make sure the var/locks dir is writable.
chmod -R 777 var/locks
If you're looking to place a block anywhere inside your content, simply do the following:
go to /admin/build/block
select the block you want to insert into your content to get the proper block references...
e.g. I created a custom views block called "latest_news" which, if you click it's url looks like:
/admin/build/block/configure/views/latest_news-block
so basically, you'll use "views" at the beginning of the function reference and "latest_news-block" at the end:
Menu block
Install/Update eaccelerator:
cd /ea
rm -rf ./eaccelerator*
rm -rf /usr/local/lib/php/extensions/no-debug-non-zts-*
wget http://downloads.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator...
tar xvfj eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
export PHP_PREFIX="/usr/local"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install
cd /tmp
rm -fr /tmp/eaccelerator
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
vi /usr/local/lib/php.ini
Add/Edit right after "Windows Extensions":
zend_extension="/ea/eaccelerator-0.9.5.3/modules/eaccelerator.so"
eaccelerator.shm_size="32"
-Add all your ips in directadmin under "IP management"
(and assign 2 ips to admin)
http://xx.xxx.xxx.xxx:2222/CMD_IP_MANAGER
-Register nameserver at registrar
(namecheap.com is my fav; networksolution.com is the worst for this... it's not longer an option you can click on the website, you have to send an email request for this)
-Add nameservers to server:
1. go to user level, and add the new domain you registered (leave default settings, and tweak them after)
2. go back to reseller level, and click "nameserver" and select 2 ips you want to use and click "create" then set the 2 new nameservers for "Set the Nameservers that will be assigned to new users" (it should be added by default)
-Share nameserver ips (so you're able to add other domains to them):
If you did TOP in ssh, and noticed httpd process has a high cpu load, and has been running for a long time (e.g. over 5 minutes) then you might try lowering your MaxRequestsPerChild.
vi /etc/httpd/conf/extra/httpd-mpm.conf
Now change your MaxRequestsPerChild from 1000 to 20...
StartServers 5
MinSpareServers 10
MaxSpareServers 20
ServerLimit 812
MaxClients 812
MaxRequestsPerChild 20
service httpd restart
Here's a code snippet for Drupal to add filefield data to any node or block.
Basically this is used to pull information from a CCK filefield.
desc
To order products by a specific order, e.g. to order products by the order specified under category listing:
set in your admin: yoursite.com/admin/system_config/edit/section/catalog/
Product listing sort by: Best ValueAnd for those wondering where 'category products' is... it's located here: /admin/admin/catalog_category/ (under "Category Products" tab, when you click on any category)
So... Here I was playing sets on my new Traktor S4 on my 2010 iMac, and noticed that Traktor was acting weird--comments were getting erased, ratings were disappearing, play counts weren't being kept. In other words,Traktor's explorer worked on some files and not others.
I tried changing file permissions, reinstalling Traktor, etc... nothing solved the problem... Doing research didn't show me any concrete solutions (e.g. change the play count settings; this didn't work).
Then it occurred to me, I haven't defragmented my Windows PC in over 2 months. And a few weeks before, I had my windows PC sync all my mp3 files to my iMac.
So long story short, the mp3 files were messed up ("garbage at the end of file")...
Multiple Table Rates (aka multipletablerates) was a very popular extension in the magento 1.3 and earlier days... However, after several magento versions this extension basically became completely unstable/buggy (this is normal as it only lists magento 1.1 compatability)... Even so, it still worked on magento 1.3 with a few minor bugs... Then later down the road other extensions came up (mostly paid) that provided similar functionality, plus some, and minus the bugs...
Magento's "Catalog Price Rules" was always a buggy experience, ever since magento 1.3... I don't know what's going with the development, but it's still buggy up to 1.4.1 ...
So here are a couple of fixes I found.
Magento 1.4.0.1:
source: http://www.magentocommerce.com/boards/viewthread/194930/#t245120
1. Open up Observer.php in /app/code/core/Mage/CatalogRule/Model/
2. Find the dailyCatalogUpdate() method
3. At the end of the method, before “return $this;”, add:
$this->applyAllRules( $this );
4. (Not sure if this step is necessary) Open up /app/code/core/Mage/CatalogRule/etc/config.xml
5. Find the crontab > jobs > catalogrule_apply_all area
6. Change
<cron_expr>0 1 * * *</cron_expr>
After upgrading from magento 1.3 to 1.4, if your product headings used quotes " " or ampersands & , then magento may convert these into HTML and then escape that HTML counterparts hence showing e.g.:
"Thermo Balance" Tub & Shower Valve Rough In Valve
like:
"Thermo Balance" Tub & Shower Valve Rough In Valve
The fix is to go into "view.phtml" and change:
<h1 class="product-name">
<?php echo $_helper->productAttribute($_product, $this->htmlEscape($_product->getName()), 'name') ?>
</h1>
to
<h1 class="product-name">
<?php echo $this->htmlEscape($_product->getName())?>
</h1>
/usr/bin/mysqlcheck --repair --all-databases --password
/usr/bin/mysqlcheck --optimize --all-databases --password=xxxxxx
Export:
mysqldump -u USERNAME -p DATABASENAME > backupfile.sql
Import :
mysql -u USERNAME -p DATABASENAME < backupfile.sql
Connect:
mysql -uusername -p DATABASENAME
This is probably an annoyance for all those that use keyboard CTRL commands (like, CTRL-C and CTRL-V) and accidentally keep hitting CTRL + mouse scroll wheel, which zooms in and out, or enlarges and decreases text size in your browser...
Here's how to disable that in firefox...
In your address bar, type in
about:config
search for
mousewheel.withcontrolkey.action
Change the value to "0"
Restart your browser, and you're all set.
Nothing available at the time of this writing...
In case you're wondering why your product description is all spaced out, then that's because magento is adding automatic line breaks into the content description area...
To get rid of it... look for
nl2br
specifically in description.phtml you'll see
<div class="std">
<?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), nl2br($this->getProduct()->getDescription()), 'description') ?>
</div>
it should look like this after you take the nl2br out:
<div class="std">
<?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), ($this->getProduct()->getDescription()), 'description') ?>
</div>
In case you upgraded to magento 1.4, and noticed that your category listings that require pagination (page 1, 2, 3) no longer show, here's the fix...
1. copy the new 1.4 toolbar.phtml from
app/design/frontend/base/default/template/catalog/product/list/toolbar.phtml
and paste it into your custom theme
app/design/frontend/*/YOURTHEME/template/catalog/product/list/toolbar.phtml
(note: make sure you put this into your currently used theme directory. If you installed a theme via Admin-->System-->Design then get the name of the theme from there)
2. edit your app/design/frontend/*/YOURTHEME/layout/catalog.xml
Find:
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
In case you want to upgrade to magento 1.4, and have Yoast MetaRobots installed, you'll have to uninstall it first, since it's not compatible with 1.4.
Here's how:
1. uninstall it from magento connect
2. Remove the config xml file from /app/etc/modules/Yoast_Metarobots.xml
3. Remove the module files and directories from /app/code/community/yoast/Metarobots/
4.Clear your cache
SSH into your root magento directory and:
rm -rf var/cache/*
5. run this SQL query (easily done in phpMyAdmin)
DELETE FROM `eav_attribute` WHERE `eav_attribute`.`attribute_code` = 'meta_robots';
DELETE FROM `core_resource` WHERE CODE = 'metarobots_setup';
You should be good to go after this...
In case you upgraded to magento 1.4 and can't connect to admin section (you get an error)...
Then do the following:
- SSH into your magento install directory.
- remove all files from ./app/code/core/Zend/Cache/
rm -rf app/code/core/Zend/Cache/*
PLEASE NOTE! The following snippet is user submitted. Use at your own risk! For users who have setup drupal using an alternate database to the default (MYSQL), please note that the snippets may contain some database queries specific to MYSQL.
Let's say you want to create a Views block that shows on a bunch of different pages/nodes that have multiple (imagefield) images per page, and you want the block to dynamically display ONLY the images from the particular node you're on--and not display images from other nodes.
This is how you would do it:
1. Create your view as you normally would.
2. Add "Node: Nid" under "Arguments".
3. Select "Provide Default Argument" under "Action to take if argument is not present:"
4. Select "Node ID from URL" under "Default argument type:"
5. Leave everything else as is...
6. Hit "Update" and then "Save"... and you're done.
Here's how to replace a string of text in multiple files under a specific directory and all it's sub directories.
cd /to/directory/containing/files
find . -name '*.php' | xargs perl -pi -e "s/OLDSTRING/'NEWSTRING'/g;"
Real world example:
Let's say we want to replace the following in every .php file:
'profile', 'load_profile'
with new string
'profile_load_profile'
Hence, we do the following...
cd /home
find ./ -name '*.php' | xargs perl -pi -e "s/'profile', 'load_profile'/'profile_load_profile'/g;"
cd /usr/local/directadmin/custombuild
mkdir -p custom/ap2
cp configure/ap2/configure.apache custom/ap2/configure.apache
vi custom/ap2/configure.apache
add: --enable-expires
so it looks like this:
#!/bin/sh
"./configure" \
"--prefix=/etc/httpd" \
"--exec-prefix=/etc/httpd" \
"--bindir=/usr/bin" \
"--sbindir=/usr/sbin" \
"--sysconfdir=/etc/httpd/conf" \
"--enable-so" \
"--enable-dav" \
"--enable-dav-fs" \
"--enable-dav-lock" \
"--enable-suexec" \
"--enable-deflate" \
"--enable-unique-id" \
"--with-suexec-caller=apache" \
"--with-suexec-docroot=/" \
"--with-suexec-gidmin=100" \
"--with-suexec-logfile=/var/log/httpd/suexec_log" \
"--with-suexec-uidmin=100" \
"--with-suexec-userdir=public_html" \
"--with-suexec-bin=/usr/sbin/suexec" \
"--with-included-apr" \
"--with-pcre=/usr/local" \
"--includedir=/usr/include/apache" \
"--libexecdir=/usr/lib/apache" \
"--datadir=/var/www" \
"--localstatedir=/var" \
"--enable-logio" \
"--enable-ssl" \
"--enable-rewrite" \
"--enable-proxy" \
"--with-ssl=/usr" \
"--enable-headers" \
"--enable-expires"
./build clean
./build apache
service httpd restart
you may need to recompile php after this
./build php
if you try running the following:
phpize
and get this error
$PHP_PREFIX/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
Then it's because you don't have autoconf installed.
To fix this error, do the following:
yum install autoconf
or you can install from source (if you want to use the latest version)
cd /usr/local/src/
/* find latest version of m4 here: http://ftp.gnu.org/gnu/m4/ */
To search for a text pattern in files in linux, do the following:
find / -type f -print0 | xargs -0 grep -i 'your pattern'
If you disable "guest checkout" in magento -- and are using PayPal -- guest check is still possible via Paypal button--it will show below the "Proceed to Checkout" button.
In order to completely remove the possibility of Guest checkout, you'll need to alter the following:
app/design/frondend/default/YOURTEMPLATE/template/paypal/link.phtml
Recently, one of our clients asked to have custom tracking code implemented into their form submissions.
Since the client's site is built on Drupal, all forms are dynamically generated using the Webform module.
Their marketing company instructed us to add an 'onclick' code to
<input type="submit" class="form-submit" value="Receive Coupons" id="edit-submit" name="op" onclick=tracking("track_submit_quote") />
However, since the Webform module creates all forms dynamically, there was no convenient way of hard coding the code into the form... i.e. there was no way for this to be done via webform admin.
It's no secret, Windows 7 is the best windows ever--it doesn't matter that the RC build 7100 not the final version, it's still a LOT better and faster than the latest and most optimized Windows Vista.
OK... anyhow... some people don't have CD/DVD drives in their PCs, so using a thumb drive is usually the best way to go.
In Windows Vista
To chmod only directories within the directory you're in...
find ./ -type d -exec chmod 755 {} \;
To chmod only files within the directory you're in...
find . -type f -exec chmod 644 {} \;