commerce_apd_admin.inc in Auto Product Display 7
Contain function for uninstalling Auto Product Display
File
commerce_apd_admin.incView source
<?php
/**
* @file
* Contain function for uninstalling Auto Product Display
*/
/**
* The configuration form for auto product display.
* Contain a dropdown list for choosing the default content type for
* auto product display creation.
*/
function _commerce_apd_configuration($form, &$form_state) {
// Create breadcrumb.
drupal_set_breadcrumb(array(
l(t("Home"), "<front>"),
l(t("Administration"), "admin"),
l(t("Store"), "admin/commerce"),
l(t("Configuration"), "admin/commerce/config"),
));
// Product and product display binding configuration
$form["commerce_apd_configuration"]["product_display"] = array(
"#title" => t("Product display"),
"#type" => "fieldset",
"#description" => t("Choose the product display to be used for each product type."),
"#tree" => TRUE,
);
// Select options
$options = array(
"" => "-- " . t('None') . " --",
);
// Get all the content types which have the product reference field.
$rs = db_query("SELECT DISTINCT a.bundle, c.name FROM {field_config_instance} a\n INNER JOIN {field_config} b ON a.field_id = b.id\n INNER JOIN {node_type} c ON a.bundle = c.type\n WHERE a.entity_type='node' AND b.type='commerce_product_reference' AND b.module='commerce_product_reference'");
while ($data = $rs
->fetchObject()) {
$options[$data->bundle] = $data->name;
}
// Select the list of product type.
$rs = db_query("SELECT type, name, description FROM {commerce_product_type}");
if ($rs
->rowCount() > 0) {
$product_display = variable_get("commerce_apd_product_display", array());
while ($data = $rs
->fetchObject()) {
// The dropdown list for choosing default product display for each product type.
$form["commerce_apd_configuration"]["product_display"][$data->type] = array(
"#title" => $data->name,
"#description" => $data->description,
"#type" => "select",
"#options" => $options,
"#default_value" => isset($product_display[$data->type]) ? $product_display[$data->type] : '',
);
}
}
// The option to set if product display creation form should be displayed automatically.
$form["commerce_apd_configuration"]["show_product_display_form"] = array(
"#title" => t("Show product display form automatically"),
"#description" => t("Choose 'Yes' to automatically display the default product display form and also hide the checkbox to display or hide product display form."),
"#type" => "select",
"#options" => array(
1 => t('Yes'),
0 => t('No'),
),
"#required" => TRUE,
"#default_value" => variable_get("commerce_apd_show_product_display_form", 0),
);
// The option to set if product deletion should delete the product display too.
$form["commerce_apd_configuration"]["auto_delete_display"] = array(
"#title" => t("Delete product display automatically after product deletion"),
"#description" => t("Choose 'Yes' to automatically delete the product display after the product deletion."),
"#type" => "select",
"#options" => array(
1 => t('Yes'),
0 => t('No'),
),
"#required" => TRUE,
"#default_value" => variable_get("commerce_apd_auto_delete_display", 0),
);
// The option to set product display manually rather than automatically from product title
$form["commerce_apd_configuration"]["auto_product_display_title"] = array(
"#title" => t("Automatically use product name as product display title"),
"#description" => t("Choose 'Yes' to automatically use the product title as product display title. If 'No' is chosen, the product display title can be entered manually and different from the product title."),
"#type" => "select",
"#options" => array(
1 => t('Yes'),
0 => t('No'),
),
"#required" => TRUE,
"#default_value" => variable_get("commerce_apd_auto_product_display_title", 1),
);
// Form submit button.
$form["commerce_apd_configuration"]["submit"] = array(
"#value" => t("Submit"),
"#type" => "submit",
"#submit" => array(
"_commerce_apd_configuration_submit",
),
);
return $form;
}
/**
* Handle the configuration form submission.
*/
function _commerce_apd_configuration_submit($form, &$form_state) {
$product_display = array();
while (list($k, $v) = each($form_state["values"]["product_display"])) {
$product_display[$k] = $v;
}
// Saved the selected content type to variable.
variable_set("commerce_apd_product_display", $product_display);
variable_set("commerce_apd_show_product_display_form", $form_state["values"]["show_product_display_form"]);
variable_set("commerce_apd_auto_delete_display", $form_state["values"]["auto_delete_display"]);
variable_set("commerce_apd_auto_product_display_title", $form_state["values"]["auto_product_display_title"]);
// Display the message to user.
drupal_set_message(t("The configuration option has been saved."));
}Functions
|
Name |
Description |
|---|---|
| _commerce_apd_configuration | The configuration form for auto product display. Contain a dropdown list for choosing the default content type for auto product display creation. |
| _commerce_apd_configuration_submit | Handle the configuration form submission. |