# ডিসপ্লে পজিশন সেটিংস গাইড

## নতুন ফিচার

এই আপডেটে কারেন্সি সুইচারের ডিসপ্লে পজিশন কন্ট্রোল করার সুবিধা যোগ করা হয়েছে।

## সেটিংস অপশন

### ১. Display Position (ডিসপ্লে পজিশন)

`WooCommerce → Multi Currency → Display Settings` থেকে নিম্নলিখিত অপশনগুলো পাবেন:

#### অপশন সমূহ:

**None (Use shortcode/widget only)**
- কোনো স্বয়ংক্রিয় প্রদর্শন নেই
- শুধুমাত্র শর্টকোড বা উইজেট ব্যবহার করে দেখাতে হবে
- সম্পূর্ণ ম্যানুয়াল নিয়ন্ত্রণ

**Shop Page Start**
- WooCommerce শপ পেজের শুরুতে দেখাবে
- প্রোডাক্ট লিস্টের উপরে
- ডিফল্ট পজিশন

**Footer**
- ওয়েবসাইটের ফুটারে দেখাবে
- সব পেজে দেখাবে (যখন প্লাগিন সক্রিয়)
- পেজের নিচে স্ট্যান্ডার্ড পজিশন
- **বিশেষ বৈশিষ্ট্য:** ড্রপডাউন উপরের দিকে খুলবে (যাতে ফুটারের নিচে চলে না যায়)

**Floating Left**
- স্ক্রিনের বাম দিকে ফিক্সড পজিশন
- স্ক্রল করলেও একই জায়গায় থাকবে
- সুন্দর শ্যাডো এবং বর্ডার রেডিয়াস সহ
- মোবাইলে নিচে বাম দিকে দেখাবে

**Floating Right**
- স্ক্রিনের ডান দিকে ফিক্সড পজিশন
- স্ক্রল করলেও একই জায়গায় থাকবে
- সুন্দর শ্যাডো এবং বর্ডার রেডিয়াস সহ
- মোবাইলে নিচে ডান দিকে দেখাবে

### ২. Show on Product Page (প্রোডাক্ট পেজে দেখান)

- চেকবক্স: "Display below product title"
- টিক দিলে সিঙ্গেল প্রোডাক্ট পেজে দেখাবে
- প্রোডাক্ট টাইটেলের ঠিক নিচে দেখাবে
- প্রাইসের উপরে অবস্থান

## ব্যবহার উদাহরণ

### পরিস্থিতি ১: শুধু শপ পেজে দেখাতে চান

```
Settings:
- Display Position: Shop Page Start
- Show on Product Page: ✗ (unchecked)
```

**ফলাফল:**
- ✅ শপ/আর্কাইভ পেজে দেখাবে
- ❌ প্রোডাক্ট পেজে দেখাবে না
- ❌ অন্য পেজে দেখাবে না

### পরিস্থিতি ২: সর্বত্র ফ্লোটিং সুইচার

```
Settings:
- Display Position: Floating Right
- Show on Product Page: ✓ (checked)
```

**ফলাফল:**
- ✅ সব পেজে ডান দিকে ফ্লোটিং
- ✅ প্রোডাক্ট পেজে টাইটেলের নিচে আলাদা আরেকটি
- ✅ স্ক্রল করলেও দেখা যায়

### পরিস্থিতি ৩: শুধু ম্যানুয়াল কন্ট্রোল

```
Settings:
- Display Position: None
- Show on Product Page: ✗ (unchecked)
```

**ব্যবহার:**
- শর্টকোড: `[bizzmudra_currency_switcher]`
- উইজেট: "Currency Switcher" drag করুন
- কাস্টম কোড: `do_shortcode('[bizzmudra_currency_switcher]')`

## ডিজাইন এবং স্টাইলিং

### স্ট্যান্ডার্ড সুইচার

```css
.bizzplugin-currency-switcher {
    margin: 10px 0;
    padding: 10px;
}
```

- সাধারণ প্রদর্শন
- ইনলাইন লেবেল এবং ড্রপডাউন
- মিনিমাল স্পেসিং

### ড্রপডাউন ডিরেকশন

**স্ট্যান্ডার্ড মোড:**
- ড্রপডাউন নিচের দিকে খুলে
- বেশিরভাগ পজিশনের জন্য উপযুক্ত

**ফুটার মোড (Upward Opening):**
- ফুটার পজিশনে ড্রপডাউন উপরের দিকে খুলে
- `.bizzplugin-dropdown-up` ক্লাস অটোমেটিক যোগ হয়
- ড্রপডাউন আইটেম স্ক্রিনে দৃশ্যমান থাকে
- নিচে চলে গিয়ে ডিসঅ্যাপিয়ার হয় না

```css
/* Dropdown opens upward when in footer */
.bizzplugin-dropdown-up .bizzplugin-dropdown-list {
    top: auto;
    bottom: calc(100% + 4px);
}
```

### ফ্লোটিং সুইচার

```css
.bizzplugin-floating-switcher {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
```

**বৈশিষ্ট্য:**
- Fixed পজিশন - স্ক্রলে মুভ করে না
- উঁচু z-index - সব কিছুর উপরে
- সাদা ব্যাকগ্রাউন্ড
- সুন্দর শ্যাডো এফেক্ট
- রাউন্ডেড কর্নার

### রেসপন্সিভ ডিজাইন

**ডেস্কটপ (> 768px):**
- ফ্লোটিং সুইচার মাঝখানে উল্লম্ব অবস্থানে
- বাম/ডান সাইডে লেগে থাকে

**মোবাইল (≤ 768px):**
- ফ্লোটিং সুইচার নিচে চলে যায়
- বাম: `left: 10px; bottom: 20px`
- ডান: `right: 10px; bottom: 20px`
- ছোট প্যাডিং এবং ফন্ট সাইজ

## টেকনিক্যাল বাস্তবায়ন

### সেটিংস স্ট্রাকচার

```php
$bizzmudra_settings = array(
    'enabled' => 1,
    'default_currency' => 'USD',
    'display_position' => 'floating_right', // নতুন
    'show_on_product_page' => 1,            // নতুন
    'currencies' => array(...)
);
```

### হুক রেজিস্ট্রেশন লজিক

```php
private function setup_display_hooks() {
    $bizzmudra_settings = $this->data->get_settings();
    
    if (empty($bizzmudra_settings['enabled'])) {
        return;
    }
    
    $position = isset($bizzmudra_settings['display_position']) 
        ? $bizzmudra_settings['display_position'] 
        : 'shop_page';
    
    // Display based on position setting
    switch ($position) {
        case 'shop_page':
            add_action('woocommerce_before_shop_loop', 
                array($this, 'display_switcher'));
            break;
        case 'footer':
            add_action('wp_footer', 
                array($this, 'display_switcher'));
            break;
        case 'floating_left':
            add_action('wp_footer', 
                array($this, 'display_floating_switcher_left'));
            break;
        case 'floating_right':
            add_action('wp_footer', 
                array($this, 'display_floating_switcher_right'));
            break;
        case 'none':
            // No automatic display
            break;
    }
    
    // Product page display
    if (!empty($bizzmudra_settings['show_on_product_page'])) {
        add_action('woocommerce_single_product_summary', 
            array($this, 'display_switcher'), 6);
    }
}
```

### ফ্লোটিং সুইচার মেথড

```php
public function display_floating_switcher_right() {
    $bizzmudra_settings = $this->data->get_settings();
    
    if (empty($bizzmudra_settings['enabled'])) {
        return;
    }
    
    $switcher = BIZZMUDRA_Switcher::get_instance();
    echo '<div class="bizzplugin-floating-switcher bizzplugin-floating-right">';
    echo $switcher->shortcode(array());
    echo '</div>';
}
```

## কাস্টমাইজেশন

### ফ্লোটিং পজিশন পরিবর্তন

থিমের `style.css` বা কাস্টম CSS এ যোগ করুন:

```css
/* Left floating থেকে আরও ভেতরে */
.bizzplugin-floating-switcher.bizzplugin-floating-left {
    left: 20px;
}

/* পজিশন পরিবর্তন */
.bizzplugin-floating-switcher {
    top: 20%;
}

/* রঙ পরিবর্তন */
.bizzplugin-floating-switcher {
    background: #f8f9fa;
    border: 2px solid #007cba;
}
```

### প্রোডাক্ট পেজ পজিশন পরিবর্তন

WooCommerce হুক প্রায়োরিটি:
- 5: Before title
- **6: After title (current)**
- 10: Rating
- 15: Price
- 20: Excerpt

কাস্টম পজিশন:

```php
// Remove default
remove_action('woocommerce_single_product_summary', 
    array(BIZZMUDRA_Public::get_instance(), 'display_switcher'), 6);

// Add in different position (after price)
add_action('woocommerce_single_product_summary', 
    array(BIZZMUDRA_Public::get_instance(), 'display_switcher'), 16);
```

## শর্টকোড এবং উইজেট

### শর্টকোড (আগের মতোই)

```
[bizzmudra_currency_switcher]
```

**ব্যবহার:**
- যেকোনো পোস্ট/পেজে
- টেক্সট উইজেটে
- পেজ বিল্ডারে
- থিম ফাইলে: `<?php echo do_shortcode('[bizzmudra_currency_switcher]'); ?>`

### উইজেট (আগের মতোই)

```
Appearance → Widgets → "Currency Switcher"
```

**বৈশিষ্ট্য:**
- ড্র্যাগ এন্ড ড্রপ
- কাস্টমাইজেবল টাইটেল
- যেকোনো উইজেট এরিয়াতে

## বেস্ট প্র্যাকটিস

### সেটিংস নির্বাচন

**ই-কমার্স সাইটের জন্য:**
- Display Position: `Floating Right` বা `Shop Page Start`
- Show on Product Page: ✓ (checked)

**সিম্পল সাইটের জন্য:**
- Display Position: `Footer`
- Show on Product Page: ✗ (unchecked)

**কাস্টম লেআউটের জন্য:**
- Display Position: `None`
- ম্যানুয়াল শর্টকোড/উইজেট ব্যবহার করুন

### পারফরম্যান্স

- ডায়নামিক হুক রেজিস্ট্রেশন - শুধু প্রয়োজনীয় হুক যোগ হয়
- কোনো অপ্রয়োজনীয় HTML রেন্ডার হয় না
- CSS শুধু এনকিউ হলেই লোড হয়

### এক্সেসিবিলিটি

- প্রপার লেবেল ট্যাগ
- ফোকাস স্টেট সহ
- কীবোর্ড নেভিগেশন সাপোর্ট
- স্ক্রিন রিডার ফ্রেন্ডলি

## ট্রাবলশুটিং

### ফ্লোটিং সুইচার দেখাচ্ছে না

**চেক করুন:**
1. প্লাগিন সক্রিয় আছে কিনা
2. "Enable Multi Currency" চেক করা আছে কিনা
3. Display Position সঠিক নির্বাচিত আছে কিনা
4. CSS ফাইল লোড হচ্ছে কিনা (Inspect element)
5. z-index কনফ্লিক্ট আছে কিনা

### প্রোডাক্ট পেজে দেখাচ্ছে না

**চেক করুন:**
1. "Show on Product Page" চেকবক্স টিক দেওয়া আছে কিনা
2. WooCommerce সিঙ্গেল প্রোডাক্ট পেজে আছেন কিনা
3. থিম `woocommerce_single_product_summary` হুক সাপোর্ট করে কিনা

### মোবাইলে ওভারল্যাপ হচ্ছে

কাস্টম CSS যোগ করুন:

```css
@media (max-width: 768px) {
    .bizzplugin-floating-switcher {
        bottom: 80px; /* Adjust as needed */
        padding: 10px;
    }
}
```

## সামারি

### যা যোগ হয়েছে:

✅ 5টি ডিসপ্লে পজিশন অপশন
✅ প্রোডাক্ট পেজ কন্ট্রোল
✅ ডায়নামিক হুক রেজিস্ট্রেশন
✅ ফ্লোটিং সুইচার ডিজাইন
✅ রেসপন্সিভ মোবাইল সাপোর্ট
✅ সম্পূর্ণ কাস্টমাইজেবল

### যা আগের মতোই আছে:

✅ শর্টকোড সাপোর্ট
✅ উইজেট সাপোর্ট
✅ AJAX কারেন্সি সুইচিং
✅ প্রাইস কনভার্সন
✅ সব পূর্ববর্তী ফাংশনালিটি

**কমিট:** db73acc - Add display position settings and product page option
