Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
people who have less time to visit the market place. The system aimed to
online buying and selling. Designing a web-page that will enable customer
portal where consumer can purchase and order products. The system flow
is the administrator will be the one that manages the user, manages the
system and the maintenance. The vendor will post product at the website
and the customer will visit the website, view product and order product.
marketing through online marketing so that the customers can easily view
the products posted by the different suppliers. As a solution, the
RALOU A. ALMONDIA
KYEMBERLY A. RICO
MAY 2018
To our families and loved ones.
ACKNOWLEDGMENT
their parents who have never stopped supporting and encouraging them
adviser Miss. Obea Rizzi B. Omboy, who provided the detailed guidance
accomplishment.
wisdom, Heavenly Father God, without His guidance this will not be
successful.
TABLE OF CONTENTS
ABSTRACT i
TITLE PAGE iii
APPROVAL SHEET iv
DEDICATION v
ACKNOWLEDGMENT vi
TABLE OF CONTENTS vii
LIST OF FIGURES x
LIST OF TABLES xii
LIST OF APPENDICES xiii
CHAPTER
IV METHODOLOGY
Research Locale 19
Population of the Study 20
Operational Feasibility 20
Technical Feasibility 22
Compatibility Checking 22
Relevance of the Technology 23
Schedule Feasibility 25
Economic Feasibility 26
Cost and Benefit of the Project 26
Data and Process Modeling 27
Object Modeling 34
Data Design 44
Security 52
Software Specification 52
Hardware Specification 53
Programming Environment 54
Test Plan 55
APPENDICES 62
FIGURE PAGE
1 Vicinity Map 19
3 Schedule Feasibility 25
8 Context Diagram 32
TABLE PAGE
4 Data Dictionary 45
5 Software Specifications 53
6 Hardware Specifications 54
LIST OF APPENDICES
APPENDIX PAGE
II Evaluation Tool 86
Introduction
activities.
and changing business patterns over the past years. It has contributed the
product choices.
province of Davao Occidental. Agriculture and fishery are two of the many
industries of the municipality. Being far from other major urban centers in
its vicinity like Digos City, Davao City , and General Santos City, and
continues its rapid growth; Malita will soon become the province's first
and advertising strategies to market their products. The vendor will travel
their products just to display and usually the customer will visit at the
commercial transaction.
products.
through the Malita E-commerce Website. They don’t have to rent an area
to display their product. In this study they can have product to post
online. They don’t have to allocate much time in travelling their whole
Internet the customer can order the product. Customer can search the
technopreneurship and also for the upcoming researchers. It can also help
can also help them learn and earn more ideas about business.
places as long as they visit the website. The seller can post their products
then you can avail the free shipping. If the product is out of stock then it
will appear to the product information quantity that the product is out of
stock. The limitation doesn’t deal with credit card and debit cards, inability
Definition of Terms
purchasing products.
online services
website.
Plugins – refers to the tools to customize the web pages of the system.
Posting – refers to the vendor’s way of advertising the products.
website.
CHAPTER II
proprietary software.
In this support Xiao and Benbasat (2007) have also explain that
internet.
business organizations. In this context, Kim, Ferrin and Rao (2008) have
effective be carried out. It takes lesser amount of time and efforts from
Kim et al., (2008) have also stated that e-commerce is a new way
online.
sitting at his home. Zhu and Thatcher has also stated that e-commerce
benefits of e-commerce lie in five areas. First, firms are able to expand
to entry for new market entrants and provides an opportunity for small
firms to reorient their supply chain relationships to force new strategic
partnerships.
there all their commercial transaction with the help of internet. As per the
payment of shopping bills, and electronic data interchange (EDI), that can
Swan and Nolan (2013) stated of what are the behavioral sciences
findings suggest that both firm and salesperson can act positively to build
(TAM) variables (perceived usefulness and ease of use) are posited as key
integrates trust and perceived risk, which are incorporated given the
placing all the variables under the nomological TRA structure and
using data from two empirical studies. The first, exploratory study
proposed hypotheses.
Rogers (2015) social analytics is the end state result set that arises
from social media integration with Business Intelligence, and this has
created a new and exciting form of insights for business users, helping
varied and drives user participation and potential drivers and insights into
how people discover, read and share news, information and content,
publishers. To benefit from integrating and connecting all the data, we will
focus on going beyond just monitoring social media and the associated
People of all ages and backgrounds are using social networks to express
network provides a unique value proposition to its users and fills specific
shops. Substantial evidence supports the idea that the demand for
inductive and comparative analysis are adopted. The findings show that
from 2009 to 2013, the slowing growth rate of commercial property sales
associated with online and offline shopping, physical stores will not be
marketing as a delivery rate, open rate and click through the rate. The
eye tracking technology was also used to analyze of internet users at
mailbox.
retailers can save selling cost, such as rent and labor cost, and consumers
who purchase items via online shopping site also can save time for
shopping trips. In this study, they confirm how the online shopping affects
retailer's selling cost and consumer's purchasing cost compared with the
that the online shopping retailers should clearly introduce the delivery
TECHNICAL BACKGROUND
market place to buy and sell products. In this strategy the vendor and
Malita, Davao Occidental as a web portal where can consumer and the
vendor can buy and sell product online. Without going to the market they
Internet.
with the help of its plugins and theme which is the WooCommerce plugin
slideshow images in the website. Also, Shopkeeper was used as the theme
plugin used as a migration tool in exporting and importing files from local
Google Chrome 64-bit (version 1.3.33.5) as the default web browser. Also,
InfinitFree for free and unlimited web hosting, Freenom for creating
website’s domain name. WAMP Server (version 2.4) which is the localhost
15.6 inch Laptop with the specification of Intel Pentium Dual Core
Processor T3200, 2.00 Gigahertz, 2.00 Giga Bytes DDR2 (Double Data
Rate) RAM (Random Access Memory), and has 150 HDD (Hard Disk
Drive). Smart Bro 4G LTE (Fourth Generation Long Term Evolution) pocket
registration from the seller who wants to apply as user of the website.
The registration can be done on the user’s web page. Afterwards, the
system sends notification through e-mail that the users have been
In the vendor section, only the vendor has the authority to manage
the products, cater the customers, track orders, view sales record. The
customer can directly view the product posted by the seller. To order a
certain product, the customer must fill-up an information form for delivery
METHODOLOGY
Research Locale
and a system administrator. The vendors are the ones who sell and
manage the products posted in the website and process customer’s order
and shipping. The customers are the ones who view and order products in
in the website.
Operational Feasibility
and its residents. If the website will be fully operational, many of the
Malitaños would gain an advantage. This is due to the online posting that
users are the vendors, customers, and administrator who have different
roles in the system. The vendor is the main source of the product, he or
she can sell or manage products and customers’ order, manage shipping
and view sales report. The customer can order products, view recent
orders, manage shipping and billing addresses and edit password and
account details. The role of administrator is the one that manages user,
Malita
E-commerce
Website
Vendor Customer Administrator
Technical Feasibility
them can access the internet using their laptops, tablets, smart phones, or
difficult for them, they can just buy smart phones ranging from
Php2,000.00 pesos or higher as long it has Google Play Store which can
The users don’t need to have technical expertise since the website was
Compatibility Checking
such as Internet Explorer, Mozilla Firefox, and Google chrome but the
researcher used Google chrome X64-bit. Google chrome has the ability to
formatted web page that users understand. Chrome's broader support for
HTML 5 means that some pages will render more accurately in Chrome
while in Internet Explorer and Mozilla Firefox, the website is functional but
there are some objects that are not aligned. Table 1 show the browsers
MOZILLA GOOGLE
INTERNET
FIREFOX CHROME
EXPLORER
SYSTEM X64-BIT
MALITA E-
COMMERCE
WEBSITE
quality of service to the customers. The vendors and the customers will
benefit from these modern methods that can lesser their effort and more
reliable compare to the previous process. This system will help them to
Figure 3 shows the development time frame of the system from the start of the activity to its
completion period. The main task is to gather data in order to know every detail so that the developer can
improve the manual process into an automated system. Each bar represents its range from the starting date
Jul 2017 Aug 2017 Sep 2017 Oct 2017 Nov 2017 Dec 2017 Jan 2018 Feb 2018 Mar 2018 Apr 2018
Activities
7/2 7/9 7/16 7/23 7/30 8/6 8/13 8/20 8/27 9/3 9/10 9/17 9/24 10/1 10/8 10/15 10/22 10/29 11/5 11/12 11/19 11/26 12/3 12/10 12/17 12/24 12/31 1/7 1/14 1/21 1/28 2/4 2/11 2/18 2/25 3/4 3/11 3/18 3/25 4/1 4/8 4/15 4/22
1 Data Gathering
2 Database Design
3 Initial Design of GUI
4 System Building
5 System testing
6 Evaluation
7 Finalizing
Economic Feasibility
with the proposed study was analyzed. The capital cost of the project
Costs
customer response.)
Total Benefits
Return of investment
main input. The processes of the system are buying, selling, customers
order, shipments and search record. The output of the system is the
product ordered, transaction history and the sales report. The researcher
account manages the user and the system. Under manage user,
administrator can add, edit, update, and remove user’s account. Further,
of the system.
Start
Contact System
LOGIN
Administrator
NO
Is Username &
Confirmation NO
Password Correct?
YES
Manage
Manage User Maintenance
System
Update
Add, Edit, Features
Update, Remove
View
Reports
LOGOUT
Database
End
and customers. Under manage products, vendor can add, update, and
and edit customers information. The vendor can post products, track
Start
LOGIN
NO
Registration
Is Registered?
YES
Administrator’s
YES
YES Approval Email
Is Username &
Confirmation NO
Password?
Contact System
NO
YES Administrator
Vendor
Manage
Manage View Sales
Sell Products Customers
Products Report
Order
YES
Change
Password
LOGOUT
End
recent orders, manage shipping and billing addresses, and edit password
Start
LOGIN
NO
Registration
Is Registered?
YES
YES
Is Username &
Confirmation NO
Password?
Contact System
NO Administrator
YES
Customer
View recent
Manage Shipping Edit &
Order
& Billing Password
Addresses Account Details
LOGOUT
End
represents the external entities that interact with its role of the system
features and the user’s information. The vendor interacts also with the
shows the destination of all data that are encoded by the user.
Data
2 Post Database
Product information
Vendor Information
Approved Vendor
1.5 Products
Login Customer Login Information
Review Order
Order Data
1.9
2.3
Ordered Information
Shipment
Figure 10 shows the use of use case diagram of the system. This is
module. Use cases by primary actors; 1. Post Product – The vendor post
Items – the product chosen by the customer will be added in the order
information form in order for the vendor to know the complete address of
the customer for the delivery process. 4. Process Order delivery – ones
the customer is done filling the form, the vendor process the order
delivery and gives the date of delivery to the customer. 5. Track orders –
the vendor tracks literally to avoid delaying of orders and to assure that all
Order Products
<<include>>
<<include>>
Customer information
Customer Track Orders
Confirm Shipment
Registration
Administrator
shows that every class is connected to each other. Each class has an
that every class has a relationship with the other class. In every class
there are arrows that defines what kind of relationship does the class have
composition.
shown in the diagram, the system interacts with the administrator of the
maintenance checker.
Malita E-commerce
Administrator Website
Login
Verify
Administrator's Dashboard
Manage Users
Vendors Request
Manage System
Update Features
Reports
Maintenance Checker
the diagram, the system interacts with the user of the system. It includes
verification, one of the securities with this system. The sequences starts
filling up the registration form and wait for the administrator to send an
approval mail. When the administrator approves the vendor, the vendor
can now login and the system verifies if it is a valid user. The vendor will
directed into its dashboard and the vendor can now sell products but it
Vendor
Register
Login
Verify
Vendor's Dashboard
Sell Products
Administrator's Approval
Manage Products
Manage Shipping
Sales Report
Pay Commission
in the diagram, the sequence starts in registration then login, the system
dashboard; the customer can view recent orders, manage shipping and
Malita
E-commerce
Website
Customer
Register/Login
Verify
Customer's Dashboard
customer can view the recent orders, manage shipping and billing
play the vital role in developing this system. It shows the relationship of
every table in the system. The foreign key indicates that every table has
wp_prefixposts
wp_mprefixwoocommerce_orde wp_mprefixwcpv_commissions
wp_mprefixusers r_item_meta
PK ID
PK id
PK ID PK meta_id
post_author
order_id
user_login FK order_item_id
post_date_gmt
order_item_id
user_pass meta_key
post_content
order-date
user_pass meta_value
post_title
vendor-id
user_email
post_excerpt
vendor_name
user_url wp_mprefixmeta
post_status
has product_id
user_registered PK meta_id
commennt-status
variation-id
user_activation_key
ping-status FK post_id
product_name
user_status
post-password meta_key
variation_attributes
display_name
post-name meta_value
has product_amount
to_ping has
product_quantity
pinged wp_
has mprefixwoocommerce_order_ite wp_mprefixusermeta
product_
ms shipping_amount
post-modified
PK umeta_id
PK order_item-id
post_modified_ product_shipping_ta
gmt FK user_id x_amount
order_item_name
guid meta_value
order-id product_commission
-amount
menu_order
total_commission_a
post_type has mount
post-mime_type commission_status
wp_mprefixterms
wp_mprefixwoocomerce_shippi
comment-count ng_zones paid_date
PK term_id
PK zone_id
name
zone_name
slug
wp_mprefixwoocomerce_shippi
wp_mprefixwoocomerce_shippi zone_order ng_zone_methods
ng_zone_locations termgroup
has PK method_id
PK location_id
wp_mprefixtermmeta
FK zone_id
zone_id has
PK meta_id instance_id
location_code
method_order
location_type has FK term_id
is_enabled
meta_key
meta_value
Data dictionary is a centralized repository of information about meaning, relationships to other data,
origin, usage and format. Below are the lists of tables. It shows the table’s name with its attribute name,
contents of the data, data type, format of the data, range, is it required or not, primary key or foreign key
Wp_mprefixuser ID ID Bigint(20) Y PK
s
User_login User login Varchar(60) Xxxxxxxx Y
User_pass User pass Varchar(255) Xxxxxxxx Y
User_nicname User nicname Varchar(50) Xxxxxxxx Y
User_url User url Varchar(100) Xxxxxxxx Y
User_registered User registered Datetime mm-dd-yy Y
User activation
User_activation_ Varchar(255) Xxxxxxxx Y
key Y
key
User status int(11) Y
User_status
Display name Xxxxxxxx Y
Display_name varchar(250)
FK = Foreign Key
PK = Primary Key
Security
support site security. WordPress user account passwords are salted and
WordPress shares sets of functions and APIs with developers which can
Software Specification
objective of the study. Table 5 shows the list of software being used in
the system.
Hardware Specification
system. Table 6 shows the list of hardware being used in the system and
its specification.
Programming Environment
structured query language (SQL). It serves as the data storage that all the
being connected in this system and what component are being used and
Test Plan
Test was conducted by its quality and assurance to see if the system met
the satisfied requirements and see if the users are satisfied with overall
functionality but there are some functions that are difficult for them to
use.
105
CHAPTER V
Summary
system to develop the website. Also, tools and plugins were utilized to
make the website even more interactive. Base on the result of the testing
Conclusion
Based on the result of the testing, it was concluded that the system
was able to perform all functions base on the objectives of the study. The
result of the evaluation shows that the users agreed to use the system. It
also showed that the task difficulty of using the system was easy.
Recommendations
were sought:
106
a. Bayad Center
b. Debit Card
c. Bank Transfer
f. Electronic Check
BIBLIOGRAPHY
APPENDICES
Login
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<?php do_action( 'woocommerce_before_customer_login_form' ); ?>
<?php if ( get_option( 'woocommerce_enable_myaccount_registration' )
=== 'yes' ) : ?>
<div class="u-columns col2-set" id="customer_login">
<div class="u-column1 col-1">
<?php endif; ?>
<h2><?php esc_html_e( 'Login', 'woocommerce' ); ?></h2>
<form class="woocommerce-form woocommerce-form-login login"
method="post">
<?php do_action( 'woocommerce_login_form_start' ); ?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-
row form-row-wide">
<label for="username"><?php esc_html_e( 'Username or email address',
'woocommerce' ); ?> <span class="required">*</span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text
input-text" name="username" id="username" value="<?php echo ( !
empty( $_POST['username'] ) ) ?
esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" /><?php //
@codingStandardsIgnoreLine ?>
</p>
<p class="woocommerce-form-row woocommerce-form-row--wide form-
row form-row-wide">
<label for="password"><?php esc_html_e( 'Password',
'woocommerce' ); ?> <span class="required">*</span></label>
110
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class WC_Product_Vendors_Registration {
public function __construct() {
if ( is_admin() ) {
add_action( 'wp_ajax_wc_product_vendors_registration', array( $this,
'registration_ajax' ) );
add_action( 'wp_ajax_nopriv_wc_product_vendors_registration',
array( $this, 'registration_ajax' ) );
} else {
add_action( 'wp_enqueue_scripts', array( $this, 'add_scripts' ) );
}
return true;
}
public function add_scripts() {
wp_enqueue_script( 'wcpv-frontend-scripts' );
$localized_vars = array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'ajaxRegistrationNonce' =>
wp_create_nonce( '_wc_product_vendors_registration_nonce' ),
'success' => __( 'Your request has been submitted. You will be
contacted shortly.', 'woocommerce-product-vendors' ),
);
wp_localize_script( 'wcpv-frontend-scripts', 'wcpv_registration_local',
$localized_vars );
return true;
}
public function registration_ajax() {
$this->registration_form_validation( $_POST['form_items'] );
113
return true;
}
public function include_form() {
// check if template has been overriden
if ( file_exists( get_stylesheet_directory() . '/woocommerce-product-
vendors/shortcode-registration-form.php' ) ) {
include( get_stylesheet_directory() . '/woocommerce-product-
vendors/shortcode-registration-form.php' );
} else {
include( plugin_dir_path( dirname( __FILE__ ) ) . 'templates/shortcode-
registration-form.php' );
}
return true;
}
public function registration_form_validation( $form_items = array() ) {
global $errors;
if ( ! is_array( $form_items ) ) {
parse_str( $_POST['form_items'], $form_items );
}
$form_items = array_map( 'sanitize_text_field', $form_items );
if ( ! isset( $form_items ) ) {
wp_die( __( 'Cheatin’ huh?', 'woocommerce-product-vendors' ) );
}
if ( ! wp_verify_nonce( $_POST['ajaxRegistrationNonce'],
'_wc_product_vendors_registration_nonce' ) ) {
wp_die( __( 'Cheatin’ huh?', 'woocommerce-product-vendors' ) );
}
// handle form submission/validation
if ( ! empty( $form_items ) ) {
$errors = array();
if ( ! is_user_logged_in() ) {
if ( empty( $form_items['firstname'] ) ) {
$errors[] = __( 'First Name is a required field.', 'woocommerce-product-
vendors' );
}
if ( empty( $form_items['lastname'] ) ) {
$errors[] = __( 'Last Name is a required field.', 'woocommerce-product-
vendors' );
}
114
if ( empty( $form_items['username'] ) ) {
$errors[] = __( 'Username is a required field.', 'woocommerce-product-
vendors' );
}
if ( ! empty( $form_items['username'] ) &&
username_exists( $form_items['username'] ) ) {
$errors[] = __( 'Please choose a different username.', 'woocommerce-
product-vendors' );
}
if ( empty( $form_items['email'] ) ) {
$errors[] = __( 'Email is a required field.', 'woocommerce-product-
vendors' );
}
if ( empty( $form_items['confirm_email'] ) ) {
$errors[] = __( 'Confirm email is a required field.', 'woocommerce-
product-vendors' );
}
if ( $form_items['confirm_email'] !== $form_items['email'] ) {
$errors[] = __( 'Emails must match.', 'woocommerce-product-vendors' );
}
if ( ! empty( $form_items['email'] ) && false !==
email_exists( $form_items['email'] ) ) {
$errors[] = __( 'Email already exists in our system.', 'woocommerce-
product-vendors' );
}
if ( ! filter_var( $form_items['email'], FILTER_VALIDATE_EMAIL ) ) {
$errors[] = __( 'Email is not valid.', 'woocommerce-product-vendors' );
}
}
if ( empty( $form_items['vendor_name'] ) ) {
$errors[] = __( 'Vendor Name is a required field.', 'woocommerce-
product-vendors' );
}
// check that the vendor name is not already taken
// checks against existing terms from "wcpv_product_vendors" taxonomy
if ( ! empty( $form_items['vendor_name'] ) &&
term_exists( $form_items['vendor_name'],
WC_PRODUCT_VENDORS_TAXONOMY ) ) {
115
$errors[] = __( 'Sorry that vendor name already exists. Please enter a
different one.', 'woocommerce-product-vendors' );
}
if ( empty( $form_items['vendor_description'] ) ) {
$errors[] = __( 'Vendor Description is a required field.', 'woocommerce-
product-vendors' );
}
do_action( 'wcpv_shortcode_registration_form_validation', $errors,
$form_items );
$errors =
apply_filters( 'wcpv_shortcode_registration_form_validation_errors',
$errors, $form_items );
// no errors, lets process the form
if ( empty( $errors ) ) {
if ( is_user_logged_in() ) {
$this->vendor_registration_form_process( $form_items );
} else {
$this->vendor_user_registration_form_process( $form_items );
}
} else {
wp_send_json( array( 'errors' => $errors ) );
}
}
}
public function vendor_registration_form_process( $form_items ) {
$current_user = wp_get_current_user();
$vendor_name = $form_items['vendor_name'];
$vendor_desc = $form_items['vendor_description'];
$vendor_data['admins'] = $current_user->ID;
update_term_meta( $term['term_id'], 'vendor_data', $vendor_data );
$args['user_id'] = $current_user->ID;
$args['user_email'] = $current_user->user_email;
$args['first_name'] = $current_user->user_firstname;
$args['last_name'] = $current_user->user_lastname;
$args['user_login'] = __( 'Same as your account login', 'woocommerce-
product-vendors' );
$args['user_pass'] = __( 'Same as your account password',
'woocommerce-product-vendors' );
$args['vendor_name'] = $vendor_name;
$args['vendor_desc'] = $vendor_desc;
// change this user's role to pending vendor
wp_update_user( array( 'ID' => $current_user->ID, 'role' =>
'wc_product_vendors_pending_vendor' ) );
do_action( 'wcpv_shortcode_registration_form_process', $args,
$form_items );
echo 'success';
exit;
} else {
global $errors;
if ( is_wp_error( $current_user ) ) {
$errors[] = $current_user->get_error_message();
}
if ( is_wp_error( $term ) ) {
$errors[] = $term->get_error_message();
}
wp_send_json( array( 'errors' => $errors ) );
}
return true;
}
public function vendor_user_registration_form_process( $form_items ) {
$username = $form_items['username'];
$email = $form_items['email'];
$vendor_name = $form_items['vendor_name'];
$vendor_desc = $form_items['vendor_description'];
$firstname = $form_items['firstname'];
$lastname = $form_items['lastname'];
$password = wp_generate_password();
117
}
wp_send_json( array( 'errors' => $errors ) );
}
return true;
}
}
Add product
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
the_title( '<h1 class="product_title entry-title">', '</h1>' );
global $post;
$short_description = apply_filters( 'woocommerce_short_description',
$post->post_excerpt );
if ( ! $short_description ) {
return;
}
?>
<div class="woocommerce-product-details__short-description">
<?php echo $short_description; // WPCS: XSS ok. ?>
</div>
<p class="stock <?php echo esc_attr( $class ); ?>"><?php echo
wp_kses_post( $availability ); ?></p>
<p class="price"><?php echo $product->get_price_html(); ?></p>
<table class="shop_attributes">
<?php if ( $display_dimensions && $product->has_weight() ) : ?>
<tr>
<th><?php _e( 'Weight', 'woocommerce' ) ?></th>
<td class="product_weight"><?php echo
esc_html( wc_format_weight( $product->get_weight() ) ); ?></td>
</tr>
<?php endif; ?>
<?php if ( $display_dimensions && $product->has_dimensions() ) : ?>
119
<tr>
<th><?php _e( 'Dimensions', 'woocommerce' ) ?></th>
<td class="product_dimensions"><?php echo
esc_html( wc_format_dimensions( $product-
>get_dimensions( false ) ) ); ?></td>
</tr>
<?php endif; ?>
<?php foreach ( $attributes as $attribute ) : ?>
<tr>
<th><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
<td><?php
$values = array();
if ( $attribute->is_taxonomy() ) {
$attribute_taxonomy = $attribute->get_taxonomy_object();
$attribute_values = wc_get_product_terms( $product->get_id(),
$attribute->get_name(), array( 'fields' => 'all' ) );
foreach ( $attribute_values as $attribute_value ) {
$value_name = esc_html( $attribute_value->name );
if ( $attribute_taxonomy->attribute_public ) {
$values[] = '<a href="' . esc_url( get_term_link( $attribute_value-
>term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name .
'</a>';
} else {
$values[] = $value_name;
}
}
} else {
$values = $attribute->get_options();
foreach ( $values as &$value ) {
$value = make_clickable( esc_html( $value ) );
}
}
echo apply_filters( 'woocommerce_attribute',
wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
?></td>
</tr>
<?php endforeach; ?>
</table>
120
if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
return;
}
global $product;
$columns =
apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
$post_thumbnail_id = $product->get_image_id();
$wrapper_classes =
apply_filters( 'woocommerce_single_product_image_gallery_classes',
array(
'woocommerce-product-gallery',
'woocommerce-product-gallery--' . ( has_post_thumbnail() ? 'with-
images' : 'without-images' ),
'woocommerce-product-gallery--columns-' . absint( $columns ),
'images',
) );
?>
</figure>
</div>
if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
return;
}
global $product;
$attachment_ids = $product->get_gallery_image_ids();
if ( $attachment_ids && has_post_thumbnail() ) {
foreach ( $attachment_ids as $attachment_id ) {
echo
apply_filters( 'woocommerce_single_product_image_thumbnail_html',
wc_get_gallery_image_html( $attachment_id ), $attachment_id );
}
}
?>
Add to Cart
<?php
if ( ! defined( 'ABSPATH' ) ) {
121
exit;
}
global $product;
?>
<div class="woocommerce-variation-add-to-cart variations_button">
<?php
do_action( 'woocommerce_before_add_to_cart_quantity' );
woocommerce_quantity_input( array(
'min_value' => apply_filters( 'woocommerce_quantity_input_min',
$product->get_min_purchase_quantity(), $product ),
'max_value' => apply_filters( 'woocommerce_quantity_input_max',
$product->get_max_purchase_quantity(), $product ),
'input_value' => isset( $_POST['quantity'] ) ?
wc_stock_amount( $_POST['quantity'] ) : $product-
>get_min_purchase_quantity(),
) );
do_action( 'woocommerce_after_add_to_cart_quantity' );
?>
<button type="submit" class="single_add_to_cart_button button
alt"><?php echo esc_html( $product-
>single_add_to_cart_text() ); ?></button>
<input type="hidden" name="add-to-cart" value="<?php echo
absint( $product->get_id() ); ?>" />
<input type="hidden" name="product_id" value="<?php echo
absint( $product->get_id() ); ?>" />
<input type="hidden" name="variation_id" class="variation_id" value="0"
/>
</div>
//External
global $product;
if ( ! $product->is_purchasable() ) {
return;
}
echo wc_get_stock_html( $product );
if ( $product->is_in_stock() ) : ?>
<?php do_action( 'woocommerce_before_add_to_cart_form' ); ?>
<form class="cart" action="<?php echo esc_url( get_permalink() ); ?>"
method="post" enctype='multipart/form-data'>
<?php
122
do_action( 'woocommerce_before_add_to_cart_quantity' );
woocommerce_quantity_input( array(
'min_value' => apply_filters( 'woocommerce_quantity_input_min',
$product->get_min_purchase_quantity(), $product ),
'max_value' => apply_filters( 'woocommerce_quantity_input_max',
$product->get_max_purchase_quantity(), $product ),
'input_value' => isset( $_POST['quantity'] ) ?
wc_stock_amount( $_POST['quantity'] ) : $product-
>get_min_purchase_quantity(),
) );
do_action( 'woocommerce_after_add_to_cart_quantity' );
?>
<button type="submit" name="add-to-cart" value="<?php echo
esc_attr( $product->get_id() ); ?>" class="single_add_to_cart_button
button alt"><?php echo esc_html( $product-
>single_add_to_cart_text() ); ?></button>
do_action( 'woocommerce_after_add_to_cart_button' );
?>
<?php endif; ?>
Checkout
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
<div class="woocommerce-billing-fields">
<?php if ( wc_ship_to_billing_address_only() && WC()->cart-
>needs_shipping() ) : ?>
<h3><?php _e( 'Billing & Shipping', 'woocommerce' ); ?></h3>
<?php else : ?>
<h3><?php _e( 'Billing details', 'woocommerce' ); ?></h3>
<?php endif; ?>
<?php do_action( 'woocommerce_before_checkout_billing_form',
$checkout ); ?>
<div class="woocommerce-billing-fields__field-wrapper">
123
<?php
$fields = $checkout->get_checkout_fields( 'billing' );
foreach ( $fields as $key => $field ) {
if ( isset( $field['country_field'], $fields[ $field['country_field'] ] ) ) {
$field['country'] = $checkout->get_value( $field['country_field'] );
}
woocommerce_form_field( $key, $field, $checkout->get_value( $key ) );
}
?>
</div>
<?php do_action( 'woocommerce_after_checkout_billing_form',
$checkout ); ?>
</div>
<?php if ( ! is_user_logged_in() && $checkout-
>is_registration_enabled() ) : ?>
<div class="woocommerce-account-fields">
<?php if ( ! $checkout->is_registration_required() ) : ?>
<p class="form-row form-row-wide create-account">
<label class="woocommerce-form__label woocommerce-form__label-for-
checkbox checkbox">
<input class="woocommerce-form__input woocommerce-form__input-
checkbox input-checkbox" id="createaccount" <?php checked( ( true
=== $checkout->get_value( 'createaccount' ) || ( true ===
apply_filters( 'woocommerce_create_account_default_checked', false ) ) ),
true ) ?> type="checkbox" name="createaccount" value="1" />
<span><?php _e( 'Create an account?', 'woocommerce' ); ?></span>
</label>
</p>
<?php endif; ?>
<?php do_action( 'woocommerce_before_checkout_registration_form',
$checkout ); ?>
<?php if ( $checkout->get_checkout_fields( 'account' ) ) : ?>
<div class="create-account">
<?php foreach ( $checkout->get_checkout_fields( 'account' ) as $key =>
$field ) : ?>
<?php woocommerce_form_field( $key, $field, $checkout-
>get_value( $key ) ); ?>
<?php endforeach; ?>
<div class="clear"></div>
124
</div>
<?php endif; ?>
<?php do_action( 'woocommerce_after_checkout_registration_form',
$checkout ); ?>
</div>
<?php endif; ?>
if ( ! $checkout->is_registration_enabled() && $checkout-
>is_registration_required() && ! is_user_logged_in() ) {
echo
apply_filters( 'woocommerce_checkout_must_be_logged_in_message',
__( 'You must be logged in to checkout.', 'woocommerce' ) );
return;
}
?>
<form name="checkout" method="post" class="checkout woocommerce-
checkout" action="<?php echo esc_url( wc_get_checkout_url() ); ?>"
enctype="multipart/form-data">
<?php if ( $checkout->get_checkout_fields() ) : ?>
<?php
do_action( 'woocommerce_checkout_before_customer_details' ); ?>
<div class="col2-set" id="customer_details">
<div class="col-1">
<?php do_action( 'woocommerce_checkout_billing' ); ?>
</div>
<div class="col-2">
<?php do_action( 'woocommerce_checkout_shipping' ); ?>
</div>
</div>
<?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>
<?php endif; ?>
<h3 id="order_review_heading"><?php _e( 'Your order',
'woocommerce' ); ?></h3>
<?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
<div id="order_review" class="woocommerce-checkout-review-order">
<?php do_action( 'woocommerce_checkout_order_review' ); ?>
</div>
<?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
</form>
<?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>
125
<table class="shop_table">
<thead>
<tr>
<th class="product-name"><?php esc_html_e( 'Product',
'woocommerce' ); ?></th>
<th class="product-quantity"><?php esc_html_e( 'Qty',
'woocommerce' ); ?></th>
<th class="product-total"><?php esc_html_e( 'Totals',
'woocommerce' ); ?></th>
</tr>
</thead>
<tbody>
<?php if ( count( $order->get_items() ) > 0 ) : ?>
<?php foreach ( $order->get_items() as $item_id => $item ) : ?>
<?php
if ( ! apply_filters( 'woocommerce_order_item_visible', true, $item ) ) {
continue;
}
?>
<tr class="<?php echo
esc_attr( apply_filters( 'woocommerce_order_item_class', 'order_item',
$item, $order ) ); ?>">
<td class="product-name">
<?php
echo apply_filters( 'woocommerce_order_item_name', esc_html( $item-
>get_name() ), $item, false ); // @codingStandardsIgnoreLine
do_action( 'woocommerce_order_item_meta_start', $item_id, $item,
$order, false );
wc_display_item_meta( $item );
do_action( 'woocommerce_order_item_meta_end', $item_id, $item,
$order, false );
?>
</td>
<td class="product-quantity"><?php echo
apply_filters( 'woocommerce_order_item_quantity_html', ' <strong
class="product-quantity">' . sprintf( '× %s', esc_html( $item-
126
}
?>
</ul>
<?php endif; ?>
<div class="form-row">
<input type="hidden" name="woocommerce_pay" value="1" />
<?php wc_get_template( 'checkout/terms.php' ); ?>
<?php do_action( 'woocommerce_pay_order_before_submit' ); ?>
<?php echo apply_filters( 'woocommerce_pay_order_button_html',
'<button type="submit" class="button alt" id="place_order" value="' .
esc_attr( $order_button_text ) . '" data-value="' .
esc_attr( $order_button_text ) . '">' . esc_html( $order_button_text ) .
'</button>' ); // @codingStandardsIgnoreLine ?>
<?php do_action( 'woocommerce_pay_order_after_submit' ); ?>
<?php wp_nonce_field( 'woocommerce-pay' ); ?>
</div>
</div>
</form>
<ul class="order_details">
<li class="order">
<?php esc_html_e( 'Order number:', 'woocommerce' ); ?>
<strong><?php echo esc_html( $order-
>get_order_number() ); ?></strong>
</li>
<li class="date">
<?php esc_html_e( 'Date:', 'woocommerce' ); ?>
<strong><?php echo esc_html( wc_format_datetime( $order-
>get_date_created() ) ); ?></strong>
</li>
<li class="total">
<?php esc_html_e( 'Total:', 'woocommerce' ); ?>
<strong><?php echo wp_kses_post( $order-
>get_formatted_order_total() ); ?></strong>
</li>
<?php if ( $order->get_payment_method_title() ) : ?>
<li class="method">
<?php esc_html_e( 'Payment method:', 'woocommerce' ); ?>
<strong><?php echo wp_kses_post( $order-
>get_payment_method_title() ); ?></strong>
128
</li>
<?php endif; ?>
</ul>
<?php do_action( 'woocommerce_receipt_' . $order-
>get_payment_method(), $order->get_id() ); ?>
<div class="clear"></div>
?>
Order product
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class WC_Order_Item extends WC_Data implements ArrayAccess {
protected $data = array(
'order_id' => 0,
'name' => '',
);
protected $cache_group = 'order-items';
protected $meta_type = 'order_item';
protected $object_type = 'order_item';
public function __construct( $item = 0 ) {
parent::__construct( $item );
if ( $item instanceof WC_Order_Item ) {
$this->set_id( $item->get_id() );
} elseif ( is_numeric( $item ) && $item > 0 ) {
$this->set_id( $item );
} else {
$this->set_object_read( true );
}
$type = 'line_item' === $this->get_type() ? 'product' : $this->get_type();
$this->data_store = WC_Data_Store::load( 'order-item-' . $type );
if ( $this->get_id() > 0 ) {
$this->data_store->read( $this );
}
}
129
return
apply_filters( 'woocommerce_order_item_get_formatted_meta_data',
$formatted_meta, $this );
}
132
$this->delete_meta_data( $offset );
}
public function offsetExists( $offset ) {
$this->maybe_read_meta_data();
if ( 'item_meta_array' === $offset || 'item_meta' === $offset ||
array_key_exists( $offset, $this->data ) ) {
return true;
}
133
Input
Login
2. Input password.
137
Register
2. Input password.
138
Vendor Registration
1 2
3
4 5
4. Input email
Add product
1 2
7 8
140
10
Checkout
1
1 2
3
4
5
6
7
8 9
10
11
Output
Product
143
Checkout
Order
144
Administrator
Login or Register
145
Vendor
Reports
Orders
146
Customers
Stocks
147
Vendors
148
Home Page
1 8
2 3 4 5 7
1. Click home to return in the home page.
2. Click shop to view all products and its categories and tags.
8. Click the Search Bar to search the product you’ve looking for.
149
Shop
3
2
150
5
151
2. Adjust product filter by price to view the products from low to high
price.
4. Product categories are where you can find any product based on its
category.
Product Page
1
4
2 3
152
order.
reviews.
153
Cart
1
2
3 4 5
Checkout
6
2 5
3 4
2. If you want to create an account, click the create account radio button.
3. Click ship to different address radio button if you want to ship your
4. if want add some order notes, you add it the order notes section.
5. Click payment option to choose what kind of payment do you want, its
Vendor’s Dashboard
1
2
3
4
5
3. Click add media if you want add some photos, music, and video.
4. Click products to add, edit, update, remove and view all products.
Add Product
5 6
7
10
11
12 9
14 13
16 15
158
encoded.
inherit or style 1 to 4.
6. Click submit for review button to approve the product you’ve created
by the administrator.
the checkbox.
9. Click the link label schedule to set a date for product’s sale.
10. Click general tab to set the products price, sale price, and
commission.
11. Click inventory tab to set the product’s SKU number and quantity
12. Click attributes tab to add the products attribute like per and size.
13. Click add button to add the product tags you encoded in the textbox.
159
14. Click the set product image link label will link to the library to choose
15. Click add product gallery image link label for additional product
image.
Administrator
2
3
4
5
6
7
1. Click dashboard to view net sales, top seller, processing and on-hold
and vendors.
commissions.
8. Click users to approved vendors, view all the users, and change their
role.
161
May 5, 2018
G R A M M A R I A N’ S C E R T I F I C A T E
rules that govern the composition of sentences, phrases, and words in the
English language.
Signed:
CURRICULUM VITAE
Personal Data
Name : Kyemberly A. Rico
Adress : Poblalcion Malalag,
Davao del Sur
Birthday : January 23, 1997
Place of Birth : Lamanan Calinan Davao
City
Sex : Female
Height : 5’4
Weight : 42 kls.
Status : Single
Religion : Aglipayan Christian Church
Nationality : Filipino
Tribe : Bisaya
Parents
Father : Primo R. Rico Jr.
Mother: Marissa A. Rico
Education Background
Elementary
School : Malalag Central Elementary
School
Year attended : 2009-2010
Award/Honors : With honors
Received
Secondary
School : Davao del Sur School of fisheries
Year attended : 2013-2014
Award/Honors : N/A
Received
College
School : Southern Philippines Agri-
Business and Marine and
Aquatic School of Technology
164
Award/Honors : N/A
Received
Work Experience
Agency : Sur Telemedia T.V. Network
Affiliation
Name of Organization : InfoTech Society
Position : Member
Inclusive Dates : 2014-2018
165
CURRICULUM VITAE
Personal Data
Name : Ralou A. Almondia
Adress : Sangay, Malita Davao
Occidental
Birthday : April 9, 1996
Place of Birth : Sangay, Malita Davao
Occidental
Sex : Male
Height : 5’3
Weight : 60 kls.
Status : Single
Religion : Roman Catholic
Nationality : Filipino
Tribe : Bisaya
Parents
Father : Raul A. Almondia
Mother: Nenevilla A. Almondia
Education Background
Elementary
School : Sangay Elementary School
Year attended : 2009-2010
Award/Honors : With honors
Received
Secondary
School : Mariano Peralta National High
School
Year attended : 2013-2014
Award/Honors : N/A
Received
College
School : Southern Philippines Agri-
Business and Marine and
Aquatic School of Technology
166
Award/Honors : N/A
Received
Work Experience
Agency : SPAMAST Registrar
Inclusive Dates : February-May 2018
Position/Designation : On-the-Job Training
Affiliation
Name of Organization : InfoTech Society
Position : Member
Inclusive Dates : 2014-2018