For Frontend:
In layout file checkout_index_index call the template file which has your dropdown html code.it will be displayed on you checkout page.
Code:
file name has checkout_index_index.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="Test\CommunityCommerce\Block\Charity\Charity" name="charity_charity" after="checkout.cart.coupon" template="Sundial_CommunityCommerce::checkout/cart/charity.phtml">
</block>
</referenceContainer>
</body>
In Template file consists :
file name has charity.phtml
<div class="content" data-role="content" aria-labelledby="block-charity-heading">
<form id="charity-form"
action="#"
method="post"
value="0" />
<?php //echo $block->getBlockHtml('formkey') ?>
<div class="field">
<div class="control">
<select id="charity_id" name="charity_id">
<option value="test1">test1</option>
<option value="test2">test2</option>
</select>
</div>
</div>
</form>
</div>
</div>
Create column in quote table and sales table using setup scripts using "InstallSchema" it will create column into table.
After that using sales_convert_quote and fieldset.xml it will move to quote value to sales table
Please check this file in your theme:
Magento_Checkout/web/template/shipping-information/address-renderer/default.html
City Should be remove from there, if yes then please add below code:-
<!-- ko text: address().city --><!-- /ko -->
Then File should be look like this:-
<div class="shipping-address-item" data-bind="css: isSelected() ? 'selected-item' : 'not-selected-item'">
<!-- ko text: address().prefix --><!-- /ko --> <!-- ko text: address().firstname --><!-- /ko -->
<!-- ko text: address().lastname --><!-- /ko --> <!-- ko text: address().suffix --><!-- /ko --><br/>
<!-- ko text: address().street --><!-- /ko --><br/>
<!-- ko text: address().city --><!-- /ko -->, <!-- ko text: address().region --><!-- /ko --> <!-- ko text: address().postcode --><!-- /ko --><br/>
<!-- ko text: getCountryName(address().countryId) --><!-- /ko --><br/>
<!-- ko text: address().telephone --><!-- /ko --><br/>
<!-- ko foreach: { data: address().customAttributes, as: 'element' } -->
<!-- ko foreach: { data: Object.keys(element), as: 'attribute' } -->
<!-- ko text: element[attribute].value --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- ko if: (address().isEditable()) -->
<button type="button"
class="action edit-address-link"
data-bind="click: editAddress, visible: address().isEditable()">
<span data-bind="i18n: 'Edit'"></span>
</button>
<!-- /ko -->
<button type="button" data-bind="click: selectAddress" class="action action-select-shipping-item">
<span data-bind="i18n: 'Ship Here'"></span>
</button>
</div>
Best Answer