Skip to content

Instantly share code, notes, and snippets.

@bangonkali
Created June 16, 2012 22:57
Show Gist options
  • Save bangonkali/2942718 to your computer and use it in GitHub Desktop.
Save bangonkali/2942718 to your computer and use it in GitHub Desktop.
Magento Initialize Attributes
<?php
$hh = 'localhost';
$un = 'username';
$db = 'database';
$pw = 'password';
$nl = '<br />'.PHP_EOL;
$size_id = 0;
$errors = array();
$con = mysql_connect($hh,$un,$pw);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db, $con);
function getAttributeCodeID($attribute_code) {
global $nl;
global $con;
// get the location of size
$retval = false;
$sql="select attribute_id from eav_attribute where attribute_code='".$attribute_code."'";
$result = mysql_query($sql, $con);
while($row = mysql_fetch_array($result))
{
$retval = $row['attribute_id'];
}
return $retval;
}
function isAttributeOptionExist($option, $attribute_code_id) {
global $nl;
global $con;
if ($attribute_code_id === false) {
echo 'Size attribute not present.' . $nl;
} else {
echo 'retrieving data.' . $nl;
echo 'option data: ' . $option . $nl;
echo 'attribute_code_id data: ' . $attribute_code_id . $nl;
// get if the attribut exist
$sql = "SELECT
eav_attribute_option_value.option_id,
eav_attribute_option.attribute_id
FROM
eav_attribute_option_value
INNER JOIN eav_attribute_option ON eav_attribute_option_value.option_id = eav_attribute_option.option_id
where value='" . $option . "' and attribute_id=".$attribute_code_id;
$result = mysql_query($sql, $con);
echo $sql . $nl;
while($row = mysql_fetch_array($result))
{
$size_id = $row['attribute_id'];
echo 'exist' . $nl;
return true;
}
return false;
}
}
function insertAttributeOption($option, $attribute_code_id) {
global $nl;
global $con;
global $errors;
if (isAttributeOptionExist($option, $attribute_code_id) === false) {
echo 'adding'.$nl;
$sql = "INSERT INTO eav_attribute_option (attribute_id, sort_order) VALUES ('".$attribute_code_id."', 0)";
if (!mysql_query($sql, $con)) {
echo 'error adding option eav_attribute_option: ' . $option . $nl;
$errors[] = $option;
} else {
$attribute_option_id = mysql_insert_id($con);
$sql = "INSERT INTO eav_attribute_option_value (option_id, store_id, value) VALUES ('".$attribute_option_id."','0','". $option ."')";
if (!mysql_query($sql, $con)) {
echo 'error adding option eav_attribute_option_value: ' . $option . $nl;
$errors[] = $option;
}
echo 'added'.$nl;
}
} else {
echo 'no need to add'.$nl;
}
}
function insertManufacturers() {
$id = getAttributeCodeID('manufacturer');
insertAttributeOption('Stetson', $id);
insertAttributeOption('Justin', $id);
insertAttributeOption('Serratelli', $id);
insertAttributeOption('Boulet', $id);
insertAttributeOption('Tony Lama', $id);
insertAttributeOption('Durango', $id);
insertAttributeOption('Resistol', $id);
}
function insertSizes() {
$id = getAttributeCodeID('size');
insertAttributeOption('9.5', $id);
insertAttributeOption('7.5', $id);
insertAttributeOption('9', $id);
insertAttributeOption('8', $id);
insertAttributeOption('8.5', $id);
insertAttributeOption('9.5D', $id);
insertAttributeOption('7D', $id);
insertAttributeOption('7.5EE', $id);
insertAttributeOption('8D', $id);
insertAttributeOption('7EE', $id);
insertAttributeOption('7.5D', $id);
insertAttributeOption('10D', $id);
insertAttributeOption('10.5D', $id);
insertAttributeOption('10.5', $id);
insertAttributeOption('7', $id);
insertAttributeOption('6.5', $id);
insertAttributeOption('9.5EE', $id);
insertAttributeOption('9EE', $id);
insertAttributeOption('10.5EE', $id);
insertAttributeOption('10EE', $id);
insertAttributeOption('9D', $id);
insertAttributeOption('8.5D', $id);
insertAttributeOption('6', $id);
insertAttributeOption('10', $id);
insertAttributeOption('8.5EE', $id);
insertAttributeOption('11D', $id);
insertAttributeOption('EE 090', $id);
insertAttributeOption('EE 075', $id);
insertAttributeOption('D 090', $id);
insertAttributeOption('D 075', $id);
insertAttributeOption('D 065', $id);
insertAttributeOption('D 100', $id);
insertAttributeOption('7 RO', $id);
insertAttributeOption('6 7/8 RO', $id);
insertAttributeOption('7 3/8 RO', $id);
insertAttributeOption('7 5/8 RO', $id);
insertAttributeOption('7 1/8 RO', $id);
insertAttributeOption('7 1/4 RO', $id);
insertAttributeOption('6 3/4 RO', $id);
insertAttributeOption('11.5', $id);
insertAttributeOption('12', $id);
insertAttributeOption('11E', $id);
insertAttributeOption('11 1/2D', $id);
insertAttributeOption('12EE', $id);
insertAttributeOption('8 1/2D', $id);
insertAttributeOption('7 1/2D', $id);
insertAttributeOption('10 1/2D', $id);
insertAttributeOption('B 080', $id);
insertAttributeOption('38', $id);
insertAttributeOption('30', $id);
insertAttributeOption('32', $id);
insertAttributeOption('40', $id);
insertAttributeOption('34', $id);
insertAttributeOption('36', $id);
insertAttributeOption('6 3/4 RO', $id);
insertAttributeOption('6 7/8 RO', $id);
insertAttributeOption('7 1/2 RO', $id);
insertAttributeOption('7.5', $id);
insertAttributeOption('11EE', $id);
insertAttributeOption('D 070', $id);
insertAttributeOption('D 080', $id);
insertAttributeOption('B 095', $id);
insertAttributeOption('EE 105', $id);
insertAttributeOption('EE 110', $id);
insertAttributeOption('EE 100', $id);
insertAttributeOption('B 090', $id);
insertAttributeOption('D 105', $id);
insertAttributeOption('105', $id);
insertAttributeOption('85', $id);
insertAttributeOption('90', $id);
insertAttributeOption('95', $id);
insertAttributeOption('80', $id);
insertAttributeOption('110', $id);
insertAttributeOption('100', $id);
insertAttributeOption('85', $id);
insertAttributeOption('80', $id);
insertAttributeOption('B 065', $id);
insertAttributeOption('B 070', $id);
insertAttributeOption('B 075', $id);
insertAttributeOption('C 075', $id);
insertAttributeOption('7.625', $id);
insertAttributeOption('6.875', $id);
insertAttributeOption('7.25', $id);
insertAttributeOption('7.75', $id);
insertAttributeOption('7.375', $id);
insertAttributeOption('9 1/2EE', $id);
insertAttributeOption('9 1/2D', $id);
insertAttributeOption('7EE', $id);
insertAttributeOption('7 1/2EE', $id);
insertAttributeOption('8 1/2EE', $id);
insertAttributeOption('8D', $id);
insertAttributeOption('8EE', $id);
insertAttributeOption('13D', $id);
insertAttributeOption('12D', $id);
insertAttributeOption('10 1/2EE', $id);
insertAttributeOption('9.5D', $id);
insertAttributeOption('13EE', $id);
insertAttributeOption('6.5B', $id);
insertAttributeOption('7B', $id);
insertAttributeOption('7 1/4 LO', $id);
insertAttributeOption('7 LO', $id);
insertAttributeOption('6.75', $id);
insertAttributeOption('7.125', $id);
insertAttributeOption('9.5EE', $id);
insertAttributeOption('8.5D', $id);
insertAttributeOption('9', $id);
insertAttributeOption('6', $id);
insertAttributeOption('7', $id);
insertAttributeOption('13', $id);
insertAttributeOption('B 085', $id);
insertAttributeOption('7 3/4 LO', $id);
insertAttributeOption('7 5/8 LO', $id);
insertAttributeOption('7 1/2 LO', $id);
insertAttributeOption('7 3/8 LO', $id);
insertAttributeOption('6 7/8 LO', $id);
insertAttributeOption('EE 8', $id);
insertAttributeOption('EE 9', $id);
insertAttributeOption('EE 10', $id);
insertAttributeOption('EE 10.5', $id);
insertAttributeOption('EE 11', $id);
insertAttributeOption('D 9', $id);
insertAttributeOption('D 8', $id);
insertAttributeOption('D 12', $id);
insertAttributeOption('D 10.5', $id);
insertAttributeOption('D 9.5', $id);
insertAttributeOption('6.5B', $id);
insertAttributeOption('8B', $id);
insertAttributeOption('7 1/2 RO', $id);
insertAttributeOption('7 1/8 LO', $id);
insertAttributeOption('6.875', $id);
insertAttributeOption('6.75', $id);
insertAttributeOption('10', $id);
insertAttributeOption('D 085', $id);
insertAttributeOption('EE 070', $id);
insertAttributeOption('EE 080', $id);
}
function insertColros() {
$id = getAttributeCodeID('color');
insertAttributeOption('Brown Red', $id);
insertAttributeOption('Black', $id);
insertAttributeOption('Silver Belly', $id);
insertAttributeOption('Brown Blue', $id);
insertAttributeOption('Rojo Bridle', $id);
insertAttributeOption('Dark Brown', $id);
insertAttributeOption('Hot Pink', $id);
insertAttributeOption('Stone', $id);
}
insertColros();
insertManufacturers();
insertSizes();
echo 'errors: ' . count($errors) . $nl;
echo 'complete';
echo $nl;
mysql_close($con);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment