Articoli correlati ‘how-to’

Come riverniciare parti in legno – spiegazione

18 maggio 2009

Capita spesso che la vernice di uno scuretto, di un mobile o altri componenti in legno, si consuma o si scrosta.

Fare questo tipo di riparazione è un lavoro molto delicato, un lavoro che richiede un po’ di esperienza e di pazienza.

Innanzitutto bisognerebbe sapere che tipo di vernice o smalto sono stati applicati sul legno.

Se ad esempio uno scuretto ci è stato consegnato con finitura a cera (la cera si consuma ma non si scrosta) basta levigare leggermente con un paglietta fine in modo da rimuovere le impurità.

Acquistare successivamente un tipo di vernice a base di cera (la migliore è quella della Sikkens) e riverniciare a pennello. Continua a leggere: Come riverniciare parti in legno – spiegazione

How-to – Magento – ripristinare o spostare l’installazione da un server all’altro

18 maggio 2009

Per spostare l’installazione di magento da un server ad un’altro sono necessari i seguenti steps:

1) cancellare il contenuto della cartella /var

2) cambiare i valori del file /app/etc/local.xml
Qui puoi trovi i dati della la tua connessione (utente database, host and nome database).

3) Una volta caricato il database sono necessarie alcune modifiche:

- Esegui questa query:

SELECT * FROM core_config_data WHERE path = ‘web/unsecure/base_url’ OR path = ‘web/secure/base_url’;

Dovresti avere qualcosa di simile a:

+———–+———+———-+———————–+————————————–+
| config_id | scope   | scope_id | path                  | value                                |
+———–+———+———-+———————–+————————————–+
|         2 | default |        0 | web/unsecure/base_url | http://www.tuodominio.com.ar/magento/ |
|         3 | default |        0 | web/secure/base_url   | http://www.tuodominio.com.ar/magento/ |
+———–+———+———-+———————–+————————————–+

- Ora cambia i valori del tuo nuovo url.

UPDATE core_config_data SET value = ‘http://www.tudominio.com.ar/’ WHERE path LIKE ‘web/%/base_url’;

Se esegui questa queri dovresti ora avere un risultato simile a:

+———–+———+———-+———————–+——————————+
| config_id | scope   | scope_id | path                  | value                        |
+———–+———+———-+———————–+——————————+
|         2 | default |        0 | web/unsecure/base_url | http://www.tudominio.com.ar/ |
|         3 | default |        0 | web/secure/base_url   | http://www.tudominio.com.ar/ |
+———–+———+———-+———————–+——————————+

how-to – Ricerca avanzata – range di valori numerici – Come impostare un attibuto con valori numerici (decimali o interi) per un prodotto in magento

5 maggio 2009

In Magento, se vogliamo ricercare dei prodotti nella ricerca avanzata per un range di valori numerici dovremo innanzi tutto creare un attributo da associare al prodotto ad es. Altezza, Larghezza, Lunghezza quindi (Catalogo->Attributi->Gestione Attributi->Aggiungi nuovo) e impostarlo come tipo testo e successivamente per aggirare il problema che il tipo di dati (int o decimal) non esiste lato amministratore sarà necessario impostarlo come attributo di sistema impostando l’opzione di attributo richiesto e successivamente andremo sulla tabella (eav_attribute) del database e ricerchiamo l’attributo appena inserito tramite il suo codice attributo (attribute_code) aggiornando quindi il record che descrive la configurazione del nostro attributo a mano in questo modo:

is_user_defined = 0
is_visible = 1
fronted_input = text
backend_type = decimal oppure int
is_visible_in_advanced_search = 1

database_eav_attribute

e il gioco e fatto, ci apparirà nella schermata di ricerca avvanzata il range di valori da cercare appena impostato

immagine-2

How-to – Problema con Adobe Flex Upload +[PHP] Sessione + Firefox !

9 aprile 2009

In un’applicazione di upload di files multipli in flex3 ho un problema: non mi passa allo script php la sessione corrente, la cosa strana di questo problema è che ciò non succede con internet explorer ma con firefox e safari (su altri non ho testato).

La soluzione a questo bug è facile:

1) Nello script flex aggiungiamo la classe che ho trovato nel seguente blog:

http://myflex.wordpress.com/2008/11/12/actionscript-cookie-util/

//code from myflex.wordpress.com
package de.aggro.utils
{
	import flash.external.ExternalInterface;
	public class CookieUtil
	{
		public function CookieUtil()
		{
		}
 
		private static const FUNCTION_SETCOOKIE:String =
            "document.insertScript = function ()" +
            "{ " +
                "if (document.snw_setCookie==null)" +
                "{" +
                    "snw_setCookie = function (name, value, days)" +
                    "{" +
                        "if (days) {"+
							"var date = new Date();"+
							"date.setTime(date.getTime()+(days*24*60*60*1000));"+
							"var expires = '; expires='+date.toGMTString();"+
						"}" +
						"else var expires = '';"+
						"document.cookie = name+'='+value+expires+'; path=/';" +
		            "}" +
                "}" +
            "}";
 
		private static const FUNCTION_GETCOOKIE:String =
            "document.insertScript = function ()" +
            "{ " +
                "if (document.snw_getCookie==null)" +
                "{" +
                    "snw_getCookie = function (name)" +
                    "{" +
                        "var nameEQ = name + '=';"+
						"var ca = document.cookie.split(';');"+
						"for(var i=0;i < ca.length;i++) {"+
							"var c = ca[i];"+
							"while (c.charAt(0)==' ') c = c.substring(1,c.length);"+
							"if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);"+
						"}"+
						"return null;" +
		            "}" +
                "}" +
            "}";
 
        private static var INITIALIZED:Boolean = false;
 
		private static function init():void{
			ExternalInterface.call(FUNCTION_GETCOOKIE);
			ExternalInterface.call(FUNCTION_SETCOOKIE);
			INITIALIZED = true;
		}
 
		public static function setCookie(name:String, value:Object, days:int):void{
			if(!INITIALIZED)
				init();
 
			ExternalInterface.call("snw_setCookie", name, value, days);
		}
 
		public static function getCookie(name:String):Object{
			if(!INITIALIZED)
				init();
 
			return ExternalInterface.call("snw_getCookie", name);
		}
 
		public static function deleteCookie(name:String):void{
			if(!INITIALIZED)
				init();
 
			ExternalInterface.call("snw_setCookie", name, "", -1);
		}
 
	}
}

2) In seguito richiamiamo lo script php dalla nostra applicazione flex passandogli la sessione:

Nel mio caso il file Mxml dell’applicazione è:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:com="com.flashdev.file.*" layout="absolute"
	creationComplete="initApp()" backgroundColor="#FFFFFF">
 
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import com.utils.CookieUtil;
			private const _strDomain:String = "http://www.dominio.ext/";
			[Bindable]
			private var _strUploadScript:String = new String("http://www.dominio.ext/flex_uploader.php");
 
			// Initalize
			private function initApp():void {
				Security.allowDomain(_strDomain);
				//qui aggiungo la correzione al bug di firefox e Safari
				_strUploadScript += "?PHPSESSID=" + CookieUtil.getCookie("PHPSESSID");
				// define the type list for the upload
				uploader.typeList = [new FileFilter("Image files (*.jpg, *.gif, *.png, *.pdf, *.zip, *.xls)", "*.jpg;*.gif;*.png;*.pdf;*.zip;*.xls", "JPEG;jp2_;GIFf;PNGf;PDF;ZIP;XLS")];
				uploader.maxSize = 1048576;
			}
 
		]]>
	</mx:Script>
 
	<mx:Canvas width="400" height="300" horizontalCenter="1" verticalCenter="1">
		<com:FileList id="uploader"
			width="100%" height="100%"
			uploadUrl="{_strUploadScript}"
			uploadComplete="Alert.show('File(s) have been uploaded.', 'Upload successful')"
			uploadIOError="Alert.show('IO Error in uploading file.', 'Error')"
			uploadSecurityError="Alert.show('Security Error in uploading file.', 'Error')"/>
	</mx:Canvas>
 
</mx:Application>

Di seguito allego anche il file di progetto: flexfinder